我正在使用 aFragmentStatePagerAdapter
和 a ViewPager
。
一切正常。如果我使用空适配器打开我的活动,ViewPager
则为空,如果我添加项目,则ViewPager
更新正确。
但是,如果我打开我的活动并删除我的最后一项ViewPager
,ViewPager
则不会正确失效并保持最后一项Fragment
可见。
我怎样才能避免这种情况?
我正在使用我的库,它是 ViewPager + ViewPagerIndicator + FragmentPager(State)Adapter 的包装类:
它实现了一个简单的 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,我可以让它不可见......但我想知道是否有更好的解决方案