#java #android #arrays #android-textwatcher
#java #Android #массивы #android-textwatcher
Вопрос:
У меня есть шаблон number police, подобный этому «^ [A-Z] {1,2} s d {1,4} s [A-Z] {1,3} $» Как реализовать этот шаблон для текстового наблюдателя при редактировании текста.
Я хочу заполнить текст автоматического редактирования в соответствии с форматом
Ответ №1:
это мой код проверки электронной почты. проверьте этот пример.
String preText;
...
TextWatcher emailTextWacher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
preText = s.toString();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String strEmailConfirm = s.toString();
if(strEmailConfirm.equals(preText)) return;
if (isValidEmail(strEmailConfirm)) {
setEnableNextBtn();
} else {
setDisableNextBtn();
}
}
@Override
public void afterTextChanged(Editable s) {
}
};
...
public static boolean isValidEmail(String email) {
boolean err = false;
String regex = "^[_a-z0-9-] (.[_a-z0-9-] )*@(?:\w \.) \w $";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(email);
if (m.matches()) {
err = true;
}
return err;
}
просто создайте метод для проверки шаблона и возвращайте логическое значение и используйте это в textwacher.
вы можете изменить для номера полиции
Комментарии:
1. Извините, что я хочу заполнить текст автоматического редактирования в соответствии с шаблоном
2. затем добавьте логику save beforeText в beforeTextChanged . Я отредактирую свой ответ