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"

потому что проблема была в автозаполнении клавиатуры.

Другие вопросы по тегам