I'm trying to put a phone mask using the onTextChanged
method, the text received in this method is coming back, and when I try to put the setSelection
() method so that the cursor positions at the end, my EditText
is off, in the Galaxy Tab 10. How to solve this?
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());
if (isNumero(resultado)) {
if (resultado.length() <= 14) {
resultado = adicionarFormatacaoTelefone(resultado);
} else {
resultado = resultado.substring(0, 14);
resultado = adicionarFormatacaoTelefone(resultado);
}
atualizando = true;
textoDiscagem.setText(resultado);
textoDiscagem.setSelection(textoDiscagem.getText().length());
}
} catch (Exception e) {
}
}
};