在我的onclicklistener之前检查没有值

时间:2012-06-18 03:18:34

标签: android

在触发按钮触发之前,检查EditText中任何值的最佳做法是什么?当它现在没有任何价值而被解雇时,它会出错并崩溃。我试图做一个if(edittext!= null){然后我的onlcick代码},当我在edittext中没有任何值后点击它时它仍然崩溃。

2 个答案:

答案 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
}

因为这也会阻止只有空格的字符串。