如何验证 Android 中的编辑文本输入?

How to validate edit text input in Android?

我使用 Android 中的 setError 方法为对话消息中的一组编辑文本添加了输入验证。

但是当我通过将一些编辑文本留空并单击对话框上的 "ok" 来测试它时,对话框关闭而没有触发输入值的提示。

谁能看出这个实现有什么问题?

我认为这可能与在触发输入验证之前调用关闭对话框有关。

这就是我根据这个问题的第 4 个答案设置输入验证的方式,Check if EditText is empty.:

    else if(TextUtils.isEmpty(strColour)) {
        colourText.setError("Please enter a value");
        return;
     }
}
   dialog.cancel(); 
}

那是因为您正在调用 dialog.cancel(),而不考虑错误。只有在没有错误的情况下才调用此方法。使用布尔值跟踪错误。如果存在错误,则将其设为 false,否则将其设为 true,仅当布尔值为 true 时才调用 dialog.cancel() 方法。