我正在使用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,我可以让它看不见......但我想知道是否有更好的解决方案