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.
 
         android
android