第一:
当我们用ViewPager+Fragment实现的时候,如果Fragment的数量超过了2个,需要重写下面这个方法,并注释掉super,否则当我们来回滑动的时候会发现页面一个个的都消失了
@Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); }第二:
如果是这种情况,上面这种情况的前提下,某个Fragment中又包含了若干的Fragment,并且也是用ViewPager+Fragment实现的话,就应该按照下面这样
viewPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) { @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } });上面的代码和第一种情况下的写法唯一不同的就是,FragmentPagerAdapter(getChildFragmentManager())而非getSupportFragmentManager(),也就是需要用当前父级Fragment的Manager而非activity的Manager。