使用ViewPager Fragment内容不显示

从菜单进入一个Fragment,该Fragment用ViewPager管理两个子Fragment,第一次进入时,子Fragment能正常显示,切换也没问题。

然后退出当前页面,到菜单界面,再次进入时,发现子页面没有显示,主要原因是ViewPager的缓存机制导致的。

第一种解决方法,用FragmentStatePagerAdapter替换FragmentPagerAdapter

viewPager.setAdapter(new FragmentStatePagerAdapter(getActivity().getSupportFragmentManager(), 0) {

             @Nullable
             @Override
             public CharSequence getPageTitle(int position) {
                 return titles.get(position);
             }

             @Override
            public Fragment getItem(int position) {
                return fragments.get(position);
            }

            @Override
            public int getCount() {
                return fragments.size();
            }

            @Override
            public Parcelable saveState() {
                // 此处注意,不要缓存
                return null;
            }

            @Override
            public void restoreState(Parcelable state, ClassLoader loader) {
                // 此处注意,不要缓存
            }
        });

1,android FragmentPagerAdapter getItem方法没有执行

安卓爬坑指南之FragmentStatePagerAdapter

发布了87 篇原创文章 · 获赞 14 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/epitomizelu/article/details/104520125
今日推荐