Sto costruendo un cassetto di navigazione come progettato dalla documentazione di google, tuttavia ho un problema in cui il frammento non viene sostituito. http://developer.android.com/training/implementing-navigation/nav-drawer.htmlFrammento Transazione carica vista vuota ma il frammento viene mostrato dopo il dispositivo rotante
Quando l'app viene caricata per la prima volta, viene caricato il frammento predefinito. Fare clic su un altro elemento nell'elenco dei cassetti lascia una vista vuota Tuttavia, durante la rotazione del dispositivo, carica il frammento scelto.
public void selectNavActivty(int position){
// TODO Changing between the different screens selection
fragment = null;
switch (position) {
case 0:
fragment = OverLay.newInstance();
break;
case 1:
fragment = Dummy.newInstance();
break;
}
if(fragment != null) {
// attach added to handle viewpager fragments
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
trans.replace(R.id.content_frame, fragment).attach(fragment)
.addToBackStack(null);
trans.commit();
getFragmentManager().executePendingTransactions();
} else {
Log.d("Drawer Activity","Error in creating Fragment");
}
}
Ho il problema SAME. Non è comune Succede 1 su 20 tentativi. onActivityCreated viene creato, la vista può essere vuota OPPURE parte della vista può essere vuota ... Aggiungo invece di sostituire. – apmartin1991
@ apmartin1991 puoi fornire i tuoi frammenti di codice da qualche parte qui (come gist.github.com, ad esempio) - sarebbe più facile capire la causa principale? (nel post originale, ad esempio, viene chiamato .attach(), ma non dovrebbe e non c'è bisogno di chiamare 'executePendingTransactions()', ad esempio, ma non sappiamo nulla del tuo problema. –
Konstantin Loginov - Ecco la mia domanda sulla stessa cosa http://stackoverflow.com/questions/34742360/fragment-transaction-loads-a-blank-view – apmartin1991