2
私はTextWatcherが見たEditTextを持っています.TextWatcherは、Pattern、Matcher、および正規表現で検証されています。ほぼOKです。ユーザーがEditTextにcharを入力すると、TextWatcherはonTextChangedメソッドをランチし、入力されたcharを検証します。すべて正常に動作しますが、EditTextの右側にエラーアイコンが表示され、「エラー」というポップアップが表示されます。 OK。ユーザーが2番目の文字を入力すると、ポップアップとエラーアイコンが消えます。 3番目の文字、それが再び表示されます。それが消えていくなど、そんなこと...。なぜ?エラーがあるときにアイコンとポップアップを常に見えるようにするには?コード:EditTextの検証では、setErrorの使用、ポップアップとアイコンの表示が消えます。 (Android)
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)
私のためには機能しませんでした。 –