Ho un'applicazione titoli frammento e contenuto frammento sullo schermo. Quando l'utente fa clic sull'elemento nel frammento dei titoli, il frammento corrispondente viene creato e inserito in una cornice e il titolo selezionato viene evidenziato nel frammento dei titoli.Come ripristinare lo stato di visualizzazione del frammento Android
La transazione viene eseguita con fragment.addToBackStack()
, quindi quando l'utente fa clic sulla chiave BACK
, il frammento precedente viene ripristinato e inserito nella cornice.
Qual è la soluzione migliore per ripristinare lo stato di visualizzazione quando il gestore transazioni ripristina i frammenti?
Il problema è che dovrei evidenziare il nome del frammento precedente nel frammento dei titoli e dovrei sapere quale frammento è. Ho risolto il problema memorizzando lo stato di visualizzazione nel mio stack: quando si crea un frammento e si ripristina cambiando il backstack della transazione utilizzando il listener del gestore delle transazioni.
Ma questa non sembra la soluzione corretta.