我正在尝试检查EditText是否为空。为此,我尝试了这个:
String text = gateNumberEditText.getText().toString();
if (text.equals("")){
\\do something
} else {
\\do something else
}
还试过:text == null,text =="" ,text.equals(null)
似乎没有任何作用,它总是传递给其他人。这是为什么?
** isEmpty()解决了我的问题。 但如果有人解释我为什么一开始没有工作,我会很高兴吗?
答案 0 :(得分:0)
请试试这个:
String text = gateNumberEditText.getText().toString().trim();
if (text==null || text.equals("")) {
// do something
}
else {
// do something else
}
答案 1 :(得分:0)
我之前评论的摘要:
String text = gateNumberEditText.getText().toString();
if (text.equals("")){
\\do something
}else {
\\do something else
}
如果您有null
,则此代码会在NullPointerException
方法调用上抛出toString()
。
看到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
}
答案 2 :(得分:-1)