Fragment嵌套ViewPager
× 172 words
× 1 minute
1. 问题描述
主Fragment嵌套ViewPager,子Fragment在主Fragment内滑动,首次显示后,再次进入子Fragment显示空白。
2. 问题原因
1 2 3 4 5 6 7 8 9 10 11 12 13
| String[] titles = new String[]{"填写问题", "问题位置"}; List<Fragment> fragments = new ArrayList<>(); fragments.add(ProblemDetailFragment.getInstance()); fragments.add(ProblemLocationFragment.getInstance());
m_ReportAdapter = new FragmentPagerAdapter(getChildFragmentManager(), fragments); m_ReportViewPager.setAdapter(m_ReportAdapter); m_ReportTabLayout.setupWithViewPager(m_ReportViewPager);
for (int i = 0; i < titles.length; i++) { m_ReportTabLayout.getTabAt(i).setText(titles[i]); }
|
row5: 我们在new FragmentPagerAdapter时需要传入FragmentManager实例,一般做法都是使用getFragmentManager()方法。
getFragmentManager()接口的描述如下:
返回的是父容器的FragmentManager,而ViewPager里的Fragment显然不是直接处于父容器下。
3. 解决办法
使用getChildFragmentManager()方法。
“ Managin Fragments inside of this Fragment.