Avvio di Android 4.2, Android supporta nested Fragments. Il documento non fornisce molte spiegazioni sui cicli di vita nidificati Fragment
ma, a causa dell'esperienza, sembra che il loro ciclo di vita sia molto simile a "regolare" Fragments
.Ottenere un riferimento a un figlio Frammento dopo il genitore Frammento è stato ricreato
Sembra che ci sia una sola grande differenza: il bambino Fragments
non viene ripristinato quando viene chiamato il metodo genitore Fragment
onCreate
. Di conseguenza, sembra impossibile per salvare/ripristinare un riferimento ad un particolare Fragment
:
- Utilizzando
getChildFragmentManager.findFragmentByTag(String)
restituisce semprenull
nel genitoreFragment
onCreate(Bundle)
perchémActive
ènull
. - Utilizzando
putFragment
/getFragment
risultati in unNullPointerException
perchégetFragment
guarda per la dimensione di un nullamActive
ArrayList
.
Quindi, la mia domanda è abbastanza semplice. Esiste un modo corretto per recuperare un riferimento a un figlio Fragment
nel metodo genitore Fragment
onCreate
?
Does getChildFragmentManager(). GetFragments() 'ha un riferimento al frammento figlio? –
Ho solo lavorato con l'implementazione della liberia di supporto dei frammenti nidificati, ma quello che posso dire è che qui vengono ricreati frammenti nidificati e per le situazioni dinamiche si segue il solito "controlla se il frammento taggato è nel gestore frammenti figlio altrimenti crea nuovamente il frammento" ciclo. Questo ha funzionato abbastanza bene per me quando ho usato i frammenti figlio come "lavoratori" per esempio. –