Sto convertendo un'app per usare i frammenti usando la libreria di compatibilità. Ora al momento ho un certo numero di attività (ABCD) che si incatenano l'una sull'altra, D ha un pulsante 'OK' che quando preme le chiamate finiscono che poi si gonfiano onActivityResult()per distruggere ulteriormente C e B.
Per la mia versione di frammento pre Honycomb ogni attività è effettivamente un wrapper su frammenti Af Bf Cf Df. Tutte le attività vengono avviate tramite startActivityForResult()e onActivityResult()all'interno di ciascuno dei frammenti che possono essere chiamate felicementegetActivity().finish()
Il problema che sto riscontrando è che nella mia versione Honeycomb ho solo un'attività, A, e i frammenti Bf, Cf, Df vengono caricati usando FragmentManager.
Quello che non capisco è cosa fare in Df quando si preme 'OK' per rimuovere i frammenti Df, Cf e Bf?
Ho provato a far schioccare il frammento dallo stack ma questo ha provocato un'eccezione. onActivityResult()è inutile perché non ho caricato il frammento usando startActivityForResult().
Sto pensando a questo completamente nel modo sbagliato? Dovrei implementare una sorta di listener che comunica con il frammento o l'attività padre per fare il pop usando il gestore delle transazioni?