I have a fragment with an EditText
and inside the onCreateView()
I add a TextWatcher
to the EditText
.
Each time the fragment is being added for the second time afterTextChanged(Editable s)
callback is being called without the text ever being changed.
Here is a code snippet :
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
myEditText = (EditText) v.findViewById(R.id.edit_text);
myEditText.addTextChangedListener(textWatcher);
...
}
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
searchProgressBar.setVisibility(View.INVISIBLE);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG, "after text changed");
}
}
I also set the fragment to retain its state, and I keep the instance of the fragment in the activity.