我有一个带导航菜单的活动(我正在使用android的NavigationDrawer
类)。菜单有N个条目,每个条目对应活动中的一个Fragment
。在活动创建时,我执行以下操作:
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
。{/ p>
当用户点击菜单时:
transaction.hide(mVisibleFragment);
mVisibleFragment = mFragmentN;
transaction.show(mVisibleFragment);
transaction.commit();
每个片段都包含ViewPager
以及其他一些片段和标签标题。我使用FragmentStatePagerAdapter
作为适配器并在onCreateView
中构建寻呼机:
pager.setAdapter(new MyFragmentStatePagerAdapter(getFragmentManager());
我只能看到第一个菜单ViewPager
的内容(mFragment1
最初显示过)。当我切换到另一个菜单片段时,我可以刷页面并查看所选的标签更改,但我自己无法看到页面。
任何人都可以指出我的错误,最重要的是,解释会发生什么?
答案 0 :(得分:0)
我设法找到了我的错误。
我使用getFragmentManger()
代替getChildFragmentManager()
来创建ViewPager
适配器。
希望我的解决方案可以帮助某人。