在触发按钮的 onclick 之前,在 EditText 中检查任何值的最佳做法是什么。当它现在没有价值地发射时,它会出错并崩溃。我试图做一个 if(edittext != null){then my onlcick code} 并且当我在edittext中没有值后单击它时它仍然崩溃。
问问题
107 次
2 回答
3
if (edittext != null) {...}
不起作用的原因是该语句将检查实际EditText
对象的条件,而不是其内容。
如果您关注内容,只需调用edittext.getText()
并应用您的验证逻辑即可。有一个方便的方法TextUtils
可以用来检查文本是否为null
空 ( ""
): TextUtils.isEmpty(edittext.getText())
。您也可以将它用于纯 Java 字符串,例如
TextUtils.isEmpty(edittext.getText().toString().trim())
在测试之前,这将首先修剪前导和尾随空格。根据您的要求,您可以使用正则表达式轻松扩展它以去除任何空白字符等。作为一般提示:搜索“android 表单验证”,我相信您会找到更多指针。
于 2012-06-18T03:30:21.623 回答
2
我用这个:
String content = editText.getText().toString().trim();
if (content.length() == 0) {
// do something
}
因为这也可以防止只有空格的字符串。
于 2012-06-18T03:27:36.670 回答