我的应用中有很多EditText
,我使用下面的代码检查EditText
是否为空。
if (etEditText.getText().toString().trim().length() > 0)
EditText
已正确初始化但我没有添加空检查,因为我读到getText().toString()
永远不会返回null。假设NullPointerException
被正确初始化,上面的代码可以生成EditText
吗?我想在任何情况下都保持安全。
答案 0 :(得分:1)
这不是检查空字符串的推荐方法。试试这个:
String text = etEditText.getText().toString();
if(!text.isEmpty()) {
....
}
关于NullPointerException
的其余部分,
EditText.getString()
很少生成,但有时会生成,所以最好用try和catch块封装代码,如下所示:
try {
String text = etEditText.getText().toString();
if(!text.isEmpty()) {
...
}
} catch(NullPointerException e) {
e.printStackTrace();
}
答案 1 :(得分:1)
null
检查的正确方法如下。
if (etEditText != null) {
String str = etEditText.getText().toString();
if (!TextUtils.isEmpty(str) && (str = str.trim()).length() > 0) {
// str will be trimmed text
// Do your work here
}
}
答案 2 :(得分:0)
String value = textInputEditText.getText().toString().trim();
if (value.isEmpty()) {
textInputLayout.setError(message);
hideKeyboardFrom(textInputEditText);
return false;
} else {
textInputLayout.setErrorEnabled(false);
}