繁体   English   中英

对于空的EditText,getText()返回什么?

[英]What does getText() return for an empty EditText?

我正在尝试检查EditText是否为空。 为此,我尝试了以下方法:

  String text = gateNumberEditText.getText().toString();
  if (text.equals("")){
      \\do something
  } else {
       \\do something else
  }

也尝试过:text == null,text ==“”,text.equals(null)

似乎没有任何工作,它总是传递给其他。 这是为什么?

** isEmpty()解决了我的问题。 但如果有人向我解释为什么一开始不起作用,我会很高兴?

请尝试以下方法:

String text = gateNumberEditText.getText().toString().trim();
if (text==null || text.equals("")) {
   // do something
}
else {
   // do something else
}

我之前的评论摘要:

String text = gateNumberEditText.getText().toString();
  if (text.equals("")){

                \\do something
            }else {
                \\do something else
            }

如果您使用null ,则此代码将在toString()方法调用上引发NullPointerException

看到getText()返回一个String ,没有理由调用toString()

当您要比较String对象的值时,请始终使用equals(IgnoreCase)()方法。

另外,请记住, " " (一个空格)和""不是两个相同的值,因此比较它们确实会返回false 将代码更改为此:

String text = gateNumberEditText.getText().trim();
// the trim() method will remove all leading and trailing spaces
  if (text.isEmpty()){ // this method of the String class, will check the length of the String.
// after the trim(), for an empty String (or only spaces), that would be zero
                \\do something
            }else {
                \\do something else
            }

您应该使用TextUtils类的isEmpty方法(返回一个布尔值)来检查编辑文本是否为空。

if(!TextUtils.isEmpty(editText.getText().toString())) {
// Do something
} else{
 //Do something else
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM