Fragment 的 EditTexts 被替换时触发

Fragment's EditTexts are triggered when it is replaced

所以,我遇到了这个问题:我正在初始化一个片段 - AddingTaskFragment 这是代码:

正在初始化 AddingTaskFragment

 private void initFragment()
    {
        // Get fragment manager
        FragmentManager fm = getSupportFragmentManager();

        // Begin transaction
        FragmentTransaction ft = fm.beginTransaction();

        // Create the Fragment and add
        addingTaskFragment = new AddingTaskFragment();
        ft.add(R.id.fragment_task_type_container, addingTaskFragment, "addTaskFragment");
       // ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);

        // Commit the changes
        ft.commit();
    }

而且效果很好 但是随后,我调用了一些事件,将这个片段替换为另一个片段 (AddingScheduleFragment).

正在替换片段

@Override
    public void onScheduleTypePick()
    {
        FragmentManager fm = getSupportFragmentManager();

        FragmentTransaction ft = fm.beginTransaction();

        // Create the fragment and attach book index
        addingScheduleFragment = new AddingScheduleFragment();

        // Replace the book list with the description
        ft.replace(R.id.fragment_task_type_container, addingScheduleFragment, "addScheduleFragment");
        ft.addToBackStack(null);
        ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
        ft.commit();
    }

当我从堆栈中弹出我之前的片段 (AddingTaskFragment) 时。我所有的 EditViews 都在获得焦点。

返回上一个片段

 @Override
    public void onTaskTypePick()
    {
        getSupportFragmentManager().popBackStack();
    }

有什么问题吗?为什么会这样?感谢您的回答。

重要提示:当我用新对象替换 AddingTaskFragent 时,一切正常。

所以,我自己解决了这个问题。而是找到了类似的。

afterTextChanged() callback being called without the text being actually changed

第二次附加片段时(由于 .replace() 方法),它正在恢复视图的先前状态。然后触发所有 textChangeListeners。