2
나는 Pattern, Matcher 및 regexp로 검증 된 TextWatcher에서 본 EditText를 가지고있다. 거의 정상적으로 작동합니다. 사용자가 char을 EditText에 입력하면 TextWatcher는 onTextChanged 메서드를 실행하고 입력 된 char의 유효성을 검사합니다. 모든 것은 잘 작동합니다. EditText의 오른쪽에 오류 아이콘이 있고 "오류"라는 팝업이 있습니다. 승인. 이제 사용자가 두 번째 문자를 입력하면 팝업 및 오류 아이콘이 사라집니다. 세 번째 문자, 다시 나타납니다. 넷째, 사라져 버린다. 오류가있을 때 아이콘과 팝업을 항상 볼 수있게 만드는 방법은 무엇입니까? 코드 :EditText 유효성 검사에서 setError를 사용하면 팝업 및 아이콘이 사라집니다. (안드로이드)
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;
}
내가 안드로이드 2.1 SDK를 사용하여 API (7)
나를 위해 작동하지 않았습니다. –