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