Mostrando DialogFragment da un ActionBar.TabListener
-
27-10-2019 - |
Domanda
E 'possibile mostrare un FragmentDialog
quando viene selezionato nella ActionBar
una scheda?
Il metodo onTabSelected()
avviene all'interno di una transazione che viene commesso dopo l'esecuzione delle finiture metodo. Tuttavia, il metodo show()
in DialogFragment
accade anche in una transazione automaticamente, quindi se si tenta di visualizzare la finestra di quando si seleziona la scheda si ottiene un RuntimeException
perché la transazione viene commesso due volte.
sarà apprezzato Eventuali suggerimenti.
Soluzione
Basta ignorare il FragmentTransaction
in dotazione.
Ad esempio, è necessario fare questo se si utilizza il Compatibility Library Android (ACL), perché il FragmentTransaction
si ottiene dalla barra delle operazioni è un FragmentTransaction
Android 3.0, non un FragmentTransaction
ACL. Quindi, si ignora il passato in uno e utilizzare il proprio.
Allo stesso modo, mi aspetto che si può ignorare il FragmentTransaction
e visualizzare un DialogFragment
te stesso senza problemi.
Se il UX farà alcun senso è un altro problema. Quando l'utente accetta la finestra di dialogo La scheda mostra ... niente?