EditText验证与使用setError,消失的弹出框和图标.(Android)



我有一个EditText由texttwatcher观看,这是与模式,匹配器和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)

将您的代码放入onAfterTextChanged()

最新更新