Events of TextWatcher are being called twice
My problem was I added the textWatcher twice mEditText.addTextChangedListener(mTextWatcher)
, which leads to calling its callbacks twice!
I had added the textWatcher once in onCreate()
and once in onStart()
.
I should only add in onStart
and remove in onStop()
.
How does your code looks like? that is the normal behaviour of TextWatcher. Example:
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) {}
});