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
}
ありがとう