【发布时间】:2016-11-15 08:17:40
【问题描述】:
我有一个片段,其中有一个嵌套片段,我以这种方式添加:
if (home == null) {
home = new MyFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack(MyFragment.class.getName());
transaction.add(R.id.child_fragment, home).commit();
}
当我进入另一个片段并返回时,上面的子片段不存在。我检查了,实例与 null 不同。
更新:我按照 Ashwin S Ashok 的建议更改了代码,但仍然无法正常工作。
【问题讨论】:
-
尝试使用添加而不是替换。
-
假设上面的代码在父fragment中,把
getFragmentManager()改成getChildFragmentManager()是否有效? -
添加/替换得到相同的结果
标签: android back-stack android-nested-fragment