В моем приложении я поместил TextWatcher в EditText. Когда я изменяю текст EditText, события TextWatcher вызываются дважды.
Я использую эмулятор для запуска приложения.
Ответ 1
Как выглядит ваш код? это нормальное поведение TextWatcher.
Пример:
myInput.addTextChangedListener(new TextWatcher() {
boolean mToggle = false;
public void onTextChanged(CharSequence cs, int s, int b, int c) {}
public void afterTextChanged(Editable editable) {
if (mToggle) {
Toast.makeText(getBaseContext(), "HIT KEY",Toast.LENGTH_LONG).show();
}
mToggle = !mToggle;
}
public void beforeTextChanged(CharSequence cs, int i, int j, int k) {}
});
Ответ 2
Моя проблема: я дважды добавил textWatcher mEditText.addTextChangedListener(mTextWatcher), что приводит к вызову его обратных вызовов дважды!
Я добавил textWatcher один раз в onCreate() и один раз в onStart().
Я должен добавить только onStart и удалить в onStop().