Android - 如何触发edittext字段的验证

时间:2011-05-11 11:22:24

标签: android validation triggers android-edittext

我需要实现一个只允许用户输入20到60的edittext字段。如果用户输入的数字超出范围,将显示一个对话框并强制用户再次输入。

因此,文本观察器无用,因为它无法阻止用户输入低于20的数字。

onFocusChangedListener既不是,如果用户点击“完成”按钮,则edittext不会失去焦点,因此触发器也不会触发。

此外,edittext位于选项卡视图中,因此当用户单击另一个选项卡时,触发器将触发,但用户无法再为该edittext输入值。

如果您对此有任何疑问,请与我分享。

非常感谢。

3 个答案:

答案 0 :(得分:2)

Alvin是对的...这是我的代码,一旦输入就会对文本执行某些操作,但可能很容易成为验证序列:

smsMsgBody_editText.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // Do something fancy
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
    public void afterTextChanged(Editable s) { }
});

答案 1 :(得分:1)

如何用onTextChanged跟踪EditText字段?

答案 2 :(得分:1)

使用这些

android:maxLength="2" android:numeric="integer"

然后当你得到如下数字:number.gettext()时,你会进行验证,如果数字> 60且低于20你可以做number.setHint("number no valid");