EditText验证使用setError,消失弹出窗口和图标。 (机器人)

时间:2011-12-20 09:43:00

标签: android validation icons android-edittext

我有一个由TextWatcher监视的EditText,它使用Pattern,Matcher和regexp进行验证。它几乎没问题。当用户在EditText中输入char时,TextWatcher将使用onTextChanged方法并验证输入的char。一切正常,EditText右侧有一个错误图标,弹出窗口显示“错误”。好。现在,当用户输入第二个字符时,弹出窗口和错误图标消失。第三个字符,它再次出现。它会消失等等......为什么?当出现错误时,如何使图标和弹出窗口始终可见?代码:

public EditTextValidator(EditText editText, String patternString, String errorString)
{
    this.editText = editText;
    this.errorString = errorString;
    this.patternString = patternString;

}

@Override
public void afterTextChanged(Editable s)
{

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
    Pattern pattern = Pattern.compile(patternString);
    Matcher matcher = pattern.matcher(s);

    if (!matcher.matches())
    {
        editText.setError(errorString);

    } else
    {
        editText.setError(null);

    }
}

private EditText editText;
private String errorString;
private String patternString;

}

我使用Android 2.1 Sdk(Api 7)

1 个答案:

答案 0 :(得分:0)

将您的代码放入onAfterTextChanged()