Android - EditText удаляется, когда я использую метод setSelection внутри метода onTextChanged
Я пытаюсь поставить маску телефона методом onTextChanged, текст в этом методе будет непохожим, а при попытке использовать метод setSelection для позиционирования курсора в финале, текст editText удаляется, это происходит на Галактике Вкладка 10, у кого-то есть идея и как ее решить???
private TextWatcher filterTextWatcherTelefone = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
try {
if (atualizando) {
atualizando = false;
return;
}
String resultado = limparFormatacaoNumero(s.toString()); // CLEAR FORMATING
if (isNumero(resultado)) {// IS IT NUMBER?
if (resultado.length() <= 14) {
resultado = adicionarFormatacaoTelefone(resultado);//FORMAT AS PHONE NUMBER
} else {
resultado = resultado.substring(0, 14);
resultado = adicionarFormatacaoTelefone(resultado); //FORMAT AS PHONE NUMBER
}
atualizando = true; //UPDATING = true
// THE TWO LINES BELOW GENERATES THE PROBLEM. WHEN COMMMENTED, THE
// ERASE ERROR DOESN'T APPEAR. OTHERWISE, IT REVERSES THE STRING
textoDiscagem.setText(resultado);
textoDiscagem.setSelection(textoDiscagem.getText().length());
}
} catch (Exception e) {
}
}
};
1 ответ
Я решил эту проблему с помощью тега:
android:inputType="textVisiblePassword"
потому что проблема была в автозаполнении клавиатуры.