ViewPager 片段未显示在嵌套片段中

ViewPager fragments are not shown in nested fragment

我有一个带导航菜单的 activity(我正在使用 android 的 NavigationDrawer class)。菜单有N个条目,每个条目对应activity中的一个Fragment。在 activity 创建时,我执行以下操作:

mFragment1 = new Fragment1();
mFragment2 = new Fragment2();
mFragment3 = new Fragment3();
...
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(R.id.frameLayout1, mFragment1);
transaction.add(R.id.frameLayout1, mFragment2);
transaction.add(R.id.frameLayout1, mFragment3);
...
transaction.hide(mFragment1);
transaction.hide(mFragment2);
transaction.hide(mFragment3);
...
transaction.commit();

然后我让 mFragment1 可见调用 show

当用户点击菜单时:

transaction.hide(mVisibleFragment);
mVisibleFragment = mFragmentN;
transaction.show(mVisibleFragment);
transaction.commit();

每个片段都包含 ViewPager 以及一些其他片段和选项卡 header。我使用 FragmentStatePagerAdapter 作为适配器并在 onCreateView:

中构建寻呼机
 pager.setAdapter(new MyFragmentStatePagerAdapter(getFragmentManager());

我只能看到第一个菜单的 ViewPager 内容(mFragment1 最初已显示)。当我切换到另一个菜单片段时,我可以滑动页面并看到所选选项卡发生变化,但我看不到页面本身。

谁能指出我的错误,最重要的是,解释一下发生了什么?

我找到了我的错误。

我使用 getFragmentManger() 而不是 getChildFragmentManager() 来创建 ViewPager 适配器。

希望我的解决方案对某人有所帮助。