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...
}
}
});