Android - измените введенный текст, прежде чем он достигнет EditText View

Постановка задачи:

У нас есть требование взломать пользовательский ввод (до того, как он достигнет EditText) и активировать некоторые функции ДО того, как текст достигнет представления EditText.

Как это может быть сделано??

Попытки решения:

а. Пробовал метод onKeyPreIme() в представлении и макете - НЕ работает

б. Я предполагаю, что слушатели на EditText будут называться ПОСЛЕ того, как текст достигает представления. Следовательно, НЕ поддерживает мой подход к решению.

с. Пробовал метод dispatchKeyEventPreIme() в представлении и макете - НЕ работает.


Могу ли я использовать BaseInputConnection или другой такой класс? Если так, то как? По сути, что будет хорошим подходом к этому решению?

1 ответ

Использовать TextWatcher

your_edit_text.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {
            if (editable.toString().equals("anything_you_want")) {
                your_edit_text.setText("");
                // do something...
            }
        }
    });
Другие вопросы по тегам