Android 碎片';替换时会触发编辑文本
因此,我有一个问题:我正在初始化一个片段-Android 碎片';替换时会触发编辑文本,android,android-layout,android-fragments,android-edittext,focus,Android,Android Layout,Android Fragments,Android Edittext,Focus,因此,我有一个问题:我正在初始化一个片段-AddingTaskFragment 以下是代码: 初始化AddingTaskFragment 而且效果很好 然后,我调用一些事件,用另一个(AddingScheduleFragment)替换这个片段 替换碎片 当我从堆栈中弹出上一个片段时(AddingTaskFragment)。我所有的编辑视图都在获得关注 返回上一个片段 有什么不对劲?为什么会这样?谢谢你的回答 重要提示:当我用新对象替换AddingTaskFragent时,一切都很好 所以,我自
AddingTaskFragment
以下是代码:
初始化AddingTaskFragment
而且效果很好
然后,我调用一些事件,用另一个(AddingScheduleFragment
)替换这个片段
替换碎片
当我从堆栈中弹出上一个片段时(AddingTaskFragment
)。我所有的编辑视图
都在获得关注
返回上一个片段
有什么不对劲?为什么会这样?谢谢你的回答
重要提示:当我用新对象替换AddingTaskFragent时,一切都很好 所以,我自己解决了这个问题。而是发现了相似的一个
第二次附加片段时(由于
.replace()
方法),它正在恢复视图的先前状态。然后触发所有textChangeListeners。发布布局xml。@rafsanahmad007,关于AddingTaskFragment?我发现了一件事:我在每个EditText
-posterextchanged
上都有一个侦听器,当我删除它们时,一切都很好。为什么会这样?
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();
}
@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();
}
@Override
public void onTaskTypePick()
{
getSupportFragmentManager().popBackStack();
}