ViewPager - 适配器变空后的更新视图

时间:2013-11-05 15:22:17

标签: android android-viewpager fragmentstatepageradapter

我正在使用FragmentStatePagerAdapter ViewPager

一切都很好。如果我使用空的适配器打开我的活动,ViewPager为空,如果我添加项目,则ViewPager更新正确。

但是,如果我打开我的活动并删除ViewPager的最后一项,则ViewPager无法正确无效并保持最后Fragment可见。

我该如何避免这种情况?

我正在使用我的库,它是ViewPager + ViewPagerIndicator + FragmentPager(State)适配器的包装类:

它实现了一个简单的FragmentStatePagerAdapter,它对片段的弱引用......

我的代码如下:

mPagerManager = new MPagerManager<ExerciseViewFragment, MFragmentPagerStateAdapter<ExerciseViewFragment>>(pager, tpi,
            new MFragmentPagerStateAdapter<ExerciseViewFragment>(fragmentManager)
            {
                @Override
                public CharSequence getPageTitle(int pos)
                {
                    return mData.workout.getWExercise().get(pos).getExercise().getName();
                }

                @Override
                public int getCount()
                {
                    return mData.workout.getWExercise().size();
                }

                @Override
                public ExerciseViewFragment createFragment(int pos)
                {
                    return ExerciseViewFragment.newInstance(pos, mData.workout.getWExercise());
                }
            });

我正在调用mPagerManager.notifyDataSetChanged();,直接将调用转发给FragmentPagerStateAdapter ......

PS:我知道,如果项目数为0,我可以让它看不见......但我想知道是否有更好的解决方案

0 个答案:

没有答案