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

16 android

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

Gau*_*ish 61

没有其他可能性.

getText,事实上,永远不会返回null.它返回CharSequence其内容可能为空.

这样做getText().toString().equals("")可能会更快,而不是做,反之亦然getText().length() == 0

  • CharSequence是对实现接口的某个类的对象引用.没有什么能阻止API实现者从getText返回null,在这种情况下,getText().length将导致NPE. (3认同)

syn*_*nic 5

如果它是空的,这将工作:

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

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

if(mEditText.getText().equals("")) {
    // stuff
}
Run Code Online (Sandbox Code Playgroud)

它当然不起作用.


Kar*_*ran 5

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