如果它是空的,那么android中的EditText.getText()会返回什么?

时间:2010-05-07 02:56:43

标签: android

我尝试过null和空字符串,还有其他想法吗?

5 个答案:

答案 0 :(得分:61)

没有其他可能性。

事实上,

getText永远不会返回null。它返回CharSequence,其内容可能为空。

而不是getText().toString().equals("")或反之亦然,getText().length() == 0

可能会更快

答案 1 :(得分:5)

如果它为空,这将起作用:

if(mEditText.getText().toString().equals("")) {
    // stuff to run when it's empty
}

即使它是空的,getText()仍将返回Editable,所以如果你试图这样做:

if(mEditText.getText().equals("")) {
    // stuff
}

肯定没有用。

答案 2 :(得分:5)

您可以使用TextUtils.isEmpty(mEditText.getText()。toString())。如果它为空/ null,它将返回true。

答案 3 :(得分:0)

我发现最好的检查方法是将值存储在类似var的变量中:

String text = mEditText.getText().toString();

,然后使用布尔运算符isEmpty,例如:

if (text.isEmpty){
    // stuff
} 

答案 4 :(得分:0)

看了几个问题之后,从it's already possible to get a null开始,我找到了避免出现问题的答案

  

方法调用toString可能会产生NPE

到处警告:

String theText = String.valueOf(mEditText.getText());