У меня есть TextWatcher, настроенный и работающий (почти) точно так, как я хочу. Тем не менее, я бы хотел, чтобы этот TextWatcher останавливался, как только пользователь вводил «.». Единственное решение, которое я нашел до сих пор, приводит к сбою приложения, если пользователь полностью удаляет текст. Также важно, чтобы ENTRERE TextWatcher заканчивался в тот момент, когда пользователь вводит '.'.Android - End TextWatcher, когда пользователь вводит '.'
Я попытался разместить TextWatcher в цикле, однако он, похоже, не работает.
private TextWatcher userEnterListener = new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
if(after==0) {
shownText = "Please try again";
}
else if(after==1) {
shownText = "A";
}
else if(after==2) {
shownText = "An";
}
else if(after==3) {
shownText = "And";
}
else if(after==4) {
shownText = "Andr";
}
else if(after==5) {
shownText = "Andro";
}
else if(after==6) {
shownText = "Androi";
}
else if(after==7) {
shownText = "Android";
}
else if(after==8) {
shownText = "Android A";
}
else if(after==9) {
shownText = "Android Ap";
}
else if(after==10) {
shownText = "Android App";
}
else {
shownText = "Please try again";
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
recordedString = (s.toString());
update();
}
};
Я думаю, вы не задавать ваш вопрос правильно. Что вы могли бы сказать под «остановкой»? Кроме того, ваш код ... ну ... не очень хорошо. Вы можете заменить этот глупый беспорядок, если/else if с помощью одного оператора if и вызова подстроки. – 323go
Если бы я хотел, чтобы все это работало, прежде чем я больше поработал над спецификой. К остановке я имею в виду конец textwatcher, который находится в EditText. Я хочу сохранить текст в EditText, но не хочу, чтобы TextWatcher делал что-нибудь с ним. –