当我使用"添加"用于添加新片段而不是"替换",当使用" remove"返回时,我无法将焦点集中到原始片段(FragmentA)。要添加新片段,我使用以下代码:
Fragment fragment = new FragmentB();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.frame_container, fragment, fragment.getClass().getName());
要返回,我使用以下代码:
getFragmentManager().beginTransaction().remove(FragmentB.this).commit();
现在,当我调用两个片段都有的方法时,FragmentB中的片段似乎正在执行并且与NPE崩溃,其中应该调用FragmentA。删除FragmentB后如何关注FragmentA?
答案 0 :(得分:0)
我设法通过在返回时与ft.addToBackStack(null);
一起提交事务之前添加getFragmentManager().popBackStack()
来解决问题。