0

在触发按钮的 onclick 之前,在 EditText 中检查任何值的最佳做法是什么。当它现在没有价值地发射时,它会出错并崩溃。我试图做一个 if(edittext != null){then my onlcick code} 并且当我在edittext中没有值后单击它时它仍然崩溃。

4

2 回答 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 回答