在触发按钮触发之前,检查EditText中任何值的最佳做法是什么?当它现在没有任何价值而被解雇时,它会出错并崩溃。我试图做一个if(edittext!= null){然后我的onlcick代码},当我在edittext中没有任何值后点击它时它仍然崩溃。
答案 0 :(得分:3)
if (edittext != null) {...}
不起作用的原因是因为此语句将检查实际EditText
对象的条件,而不检查其内容。
如果您正在阅读内容,只需致电edittext.getText()
并将验证逻辑应用于此。您可以使用TextUtils
中的便捷方法检查文字是null
还是空(""
):TextUtils.isEmpty(edittext.getText())
。您也可以将它用于普通Java字符串,例如
TextUtils.isEmpty(edittext.getText().toString().trim())
在测试之前,首先会修剪前导和尾随空格。根据您的要求,您可以使用正则表达式轻松扩展它以去除任何空白字符等。作为一般提示:搜索“android表单验证”,我相信您会找到更多指针。
答案 1 :(得分:2)
我用过这个:
String content = editText.getText().toString().trim();
if (content.length() == 0) {
// do something
}
因为这也会阻止只有空格的字符串。