我有一个有 10 多个视图的 ViewPager。我希望偶尔更改页面的顺序,即
第 1 页 | 第 2 页 | 第 3 页
至
第 3 页 | 第 1 页 | 第2页
对于我使用ViewPagerIndicator的选项卡,我可以通过更改适配器的顺序并调用来更新它们的顺序:
mViewPagerIndicator.notifyDataSetChanged();
但是,我无法更新的是 ViewPager 的内容,例如,如果我更新 ViewPager 适配器(到我希望页面所在的新顺序)并调用:
mViewPager.getAdapter().notifyDataSetChanged()
这没有效果。标签指示栏更新正常,但页面内容仍显示旧顺序。
有没有办法改变 ViewPager 适配器中的页面顺序并让 ViewPager 重新加载它的所有视图?
我的 ViewPager 适配器扩展FragmentStatePagerAdapter
,我的重写方法如下:
@Override
public Fragment getItem(int position) {
return MyCustomFragment.newInstance();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//super.destroyItem(container, position, object); // Commented out to ensure views are not destroyed
}
谢谢