У меня есть ViewPager с 10+ просмотрами. Я хочу иногда менять порядок страниц, т.е.
Страница 1 | Страница 2 | страница 3
to
Страница 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
}
Спасибо