Il mio Activity
contiene un ViewPager
ed è personalizzato Adapter
che si estende FragmentStatePagerAdapter
. ViewPager
comprende 3 frammentiPagerAdapter.notifyDataSetChanged non aggiorna i frammenti
codice per rimuovere frammenti dal 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);
}
quando si toglie il mezzo Fragment
(indice 1):
- da
data
sto rimuovendo il correttoitem
. - problema è che (immagino)
Fragment
3 viene rimosso doponotifyDataSetChanged
e la correnteFragment
è ancora il frammento che la sega utente ei dati che viene caricato è daSavedInstance
fascio
Così fine risultato che l'utente continua a vedere lo stesso Fragment
che ha provato a rimuovere, il che è un po 'risucchiato per lui.
Idee?
vorrei suggerire di passare a [la mia 'ArrayPagerAdapter'] (https://github.com/commonsguy/cwac-pager), che gestisce questo. Non sono terribilmente sorpreso dal fatto che 'FragmentStatePagerAdapter' abbia dei problemi in quest'area, ed è per questo che ho creato qualcosa di separato. – CommonsWare
Prova [this] (http://stackoverflow.com/a/26944013/5287436) –