我有一个片段(我称它为pagerFragment),该片段被添加到了堆栈中并且可见。它包含一个带有viewPagerFragmentPagerAdapterFragmentPagerAdapter包含(假设)两个片段:A和B。

首先添加片段效果很好。

片段A具有一个按钮,一旦单击该按钮,就会将片段(C)添加到后堆栈中。

问题是这样的:如果我添加该片段(C),然后单击“返回”,则pagerAdapter为空,并且看不到其中的任何片段。

如果我使用了hack,并且销毁了pagerFragmentonDestroyView()中的子片段(A和B),则可以解决此问题,尽管我不想使用此hack。

任何想法可能是什么问题?

最佳答案

我有同样的问题。对我来说解决方案很简单:

在onCreateView中,我有:

// Create the adapter that will return a fragment for each of the three
// primary sections of the app.
mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity()
    .getSupportFragmentManager());

其中SectionPageAdapter是这样的:
class SectionsPagerAdapter extends FragmentPagerAdapter {
...
}

将getSupportFragmentManager更改为
mSectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());

它开始工作了!
希望这可以帮助。

10-08 18:13