Attualmente sto utilizzando il Navigation Drawer per la mia APP per Android. Nel mio primo frammento, ho un frammento che carica i dati utilizzando l'API Graph di Facebook. Quindi, quando la mia app viene caricata per la prima volta, va prima al primo frammento.Stato frammento del cassetto di navigazione Android
Poi, io uso il cassetto di navigazione per fare clic su un altro frammento e visualizzarlo.
E poi finalmente, ho riutilizzare il cassetto di navigazione per procedere di nuovo al primo frammento e visualizzarlo.
mio problema che sto affrontando è, come procedo per utilizzare il frammento che si è creata una volta invece di ricreare ogni volta che si seleziona la voce di navigazione cassetto. Il mio codice per la commutazione dei frammenti è come mostrato di seguito.
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new SelectionFragment();
break;
case 1:
fragment = new HomeFragment();
break;
case 2:
fragment = new PhotosFragment();
break;
case 3:
fragment = new CommunityFragment();
break;
case 4:
fragment = new PagesFragment();
break;
case 5:
fragment = new SplashFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
ho notato che v'è infatti un'istanza "nuova" del frammento ogni volta ogni volta che viene selezionata l'opzione. Come faccio a implementare la logica di creazione dell'istanza Fragment ONCE e riutilizzarla, in modo da non dover caricare continuamente il frammento più e più volte.
Hai visto qualche modo particolare per sostituire l'ArrayAdapter con un FragmentStatePagerAdapter? Mi stavo chiedendo anche questa stessa domanda, ma non ho visto nessuno davvero farlo, e nemmeno io (sono stato pigro a provare, non perché fosse impossibile.) – EpicPandaForce