回到父片段

时间:2018-04-13 03:40:54

标签: android android-fragments android-viewpager fragmentmanager

我正在制作一个其架构为:

的视图

一个片段的视图寻呼机有FragmentStatePagerAdapter(适配器1),FragmentStatePagerAdapter(适配器1)返回Fragment时点击Fragment它会打开另一个Fragment再次附加ViewPagerFragmentStatePagerAdapter(适配器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是空白的

1 个答案:

答案 0 :(得分:0)

对于像这样嵌套的片段,我们应该看到片段的层次结构要么我们想看到平行,要么提前或者向前或向下一步提前或者在下面选择getFragment manager替换和

  getParentFragment().getFragmentManager()  

用于并行片段替换

快乐的编码!