PagerAdapter.notifyDataSetChanged не обновляет фрагменты

Моя Activity содержит ViewPager и пользовательский Adapter который расширяет FragmentStatePagerAdapter . ViewPager содержит 3 фрагмента

Код для удаления фрагментов из ViewPager

MainActivity

 public void deleteElement(){ final int currentItem = mViewPager.getCurrentItem(); mPagerAdapter.removeItem(currentItem); mPagerAdapter.notifyDataSetChanged(); } 

CustomPagerAdapter

 private ArrayList<Item> data; public void removeItem(int index){ data.remove(index); } 

При удалении среднего Fragment (индекс 1):

  • Из data я удаляю правильный item .
  • Проблема в том, что i (я думаю) Fragment 3 удаляется после notifyDataSetChanged а текущий Fragment по-прежнему является фрагментом, который пользователь видел, а данные, которые загружаются, из пакета SavedInstance

Таким образом, конечный результат заключается в том, что пользователь все еще видит тот же Fragment который он пытался удалить, что сосать для него.

Идеи?

Попробуйте добавить это:

 private class MyPagerAdapter extends FragmentStatePagerAdapter { //... your existing code @Override public int getItemPosition(Object object){ return PagerAdapter.POSITION_NONE; } } 
Intereting Posts