我正在尝试通过onTextChanged方法放置一个电话掩码,此方法中的文字不同,当尝试使用方法setSelection将光标定位在final上时,editText的文本被删除,这就发生了在Galaxy Tab 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) {
}
}
};
答案 0 :(得分:1)
我解决了这个问题:标记:
android:inputType="textVisiblePassword"
因为问题在于键盘的自动完成。