我正在制作一个其架构为:
的视图一个片段的视图寻呼机有FragmentStatePagerAdapter
(适配器1),FragmentStatePagerAdapter
(适配器1)返回Fragment
时点击Fragment
它会打开另一个Fragment
再次附加ViewPager
和FragmentStatePagerAdapter
(适配器2),再次返回Fragment
。
我的问题是当我点击Fragment
然后按回按钮返回时Fragment
为空,当我在适配器1上使用getChildFragmentManager
时,应用程序崩溃了找不到Fragment
的视图。
修改
通过调试我发现FragmentStatePagerAdapter
不会返回之前返回的片段,这就是为什么我得到空白页
在片段中:
viewPagerDetail.setAdapter(new ProductDetailViewPagerAdapter(getFragmentManager()));
tabLayoutDetail.setupWithViewPager(viewPagerDetail);
(如果我在这里使用getChiildFragmentManager它会崩溃应用程序)
Inside ProductDetailViewPagerAdapter:
@Override
public Fragment getItem(int position) {
return new ViewPagerImageFragment();
}
在ViewPagerImageFragment内部:单击imageview
时,我点击图像视图时会打开一个片段,其中包含有适配器附加的viewpager,当我按回到具有{{1}的片段时,该片段也返回片段viewpager是空白的
答案 0 :(得分:0)
对于像这样嵌套的片段,我们应该看到片段的层次结构要么我们想看到平行,要么提前或者向前或向下一步提前或者在下面选择getFragment manager替换和
getParentFragment().getFragmentManager()
用于并行片段替换
快乐的编码!