2017-09-04 80 views
1

如何检查EditText是否为空?输入型数字检查EditText是否为空kotlin android

package com.example.www.myapplication 

import android.support.v7.app.AppCompatActivity 
import android.os.Bundle 
import kotlinx.android.synthetic.main.activity_main.* 
import java.util.* 

class MainActivity : AppCompatActivity() { 

override fun onCreate(savedInstanceState: Bundle?) { 
    super.onCreate(savedInstanceState) 
    setContentView(R.layout.activity_main) 
    button.setOnClickListener { 

     val inter:Int=editText.text.toString().toInt() 
     val year: Int = Calendar.getInstance().get(Calendar.YEAR) 
     val res:Int=year-inter 
     textView.text=res.toString() 
    } 
} 
+0

你应该张贴,而不是发布的ANR截图堆栈跟踪。 – BakaWaii

回答

2

下面是说明全例子。

//init the edittext 
    val etMessage = findViewById(R.id.et_message) as EditText 
    //init the button 
    val btnClick = findViewById(R.id.btn_click) as Button 

    btnClick.setOnClickListener{ 
     //read value from EditText to a String variable 
     val msg: String = etMessage.text.toString() 

     //check if the EditText have values or not 
     if(msg.trim().length>0) { 
      Toast.makeText(applicationContext, "Message : "+msg, Toast.LENGTH_SHORT).show() 
     }else{ 
      Toast.makeText(applicationContext, "Please enter some message! ", Toast.LENGTH_SHORT).show() 
     } 
    } 
0

试试这个:

if(TextUtils.isEmpty(editText.getText().toString())){  
    //Do 
} 
+0

谢谢显示输入调试图像说明 –

1

嘿,我使用这样的科特林

val input = editText?.text.toString().trim() 
    if (input.isNullOrBlank()) { 
     //Your code for blank edittext 
    } 

希望这将有助于you..let我知道如果有任何问题....

+0

大多数情况下,如果您想从输入框中获取文本,请使用像 “val input = editText?.text.toString()。trim()” –

+0

未解决的参考。由于接收器类型不匹配,以下候选者都不适用: @InlineOnly public inline fun CharSequence?.isNullOrBlank():在kotlin.text中定义的布尔值 –

0
var userName = editText!!.text.toString().trim() 
if (userName.equals("")) { 
    //TODO Something Here 
} 
+1

虽然答案总是值得赞赏,但它确实有助于提供有关**的其他信息**代码如何解决手头的问题。这样做可以帮助那些具有类似(但不完全相同)问题的人。不是每个人都可能熟悉你的确切编码逻辑,但可以理解你的一般*方法*或*概念*。为了帮助改进您的答案,请提供一些[**环境**](https://meta.stackexchange.com/questions/114762),并参阅关于[**写出优秀答案**]的帮助文章( http://stackoverflow.com/help/how-to-answer)关于如何使您的答案计数的一些提示:) –

1

线束科特林功率通过使用内联扩展函数:

editText.text.isNotEmpty().apply { 
    //do something 
} 

,或者使用let

+0

谢谢show show enter image description –

0

了一个新的家伙,他想地段,这为我工作

 if(!editTextTerminalName.text.toString().trim().isNotEmpty()) { 

       editTextTerminalName?.error = "Required" 

      }else if(!editTextPassword.text.toString().trim().isNotEmpty()){ 


       editTextPassword?.error = "Required" 
      }else{ 

       avi.visibility= View.VISIBLE // v letter should be capita 
} 
0

尝试了这一点:

//button from xml 
botton.setOnClickListener{           
val new=addText.text.toString()//addText is an EditText 
if(new=isNotEmpty()) 
{ 
    //do something 
} 
else{ 
Toast.makeText(applicationContext, "Enter some message ", Toast.LENGTH_SHORT).show() 
} 
}