2011-12-20 2 views
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)

答えて

0

onAfterTextChanged()にあなたのコードを入れてください。

+0

私のためには機能しませんでした。 –

関連する問題