Android Rimuovere Frammento e vista dalla BackStack
Mi rendo conto che questa domanda è stato chiesto prima però le risposte precedenti mi hanno ottenuto finora. Lo scenario è il seguente: abbiamo un frammento dashboard (A), che porta un utente a una schermata di accesso (B). In caso di accesso riuscito vanno a un listview (c). Nel backpress vorrei tornare ad A, poiché l'utente non avrà più bisogno di vedere la schermata di login. Inoltre, in caso di accesso riuscito, memorizziamo i dettagli nelle preferenze condivise e automatizziamo il login in B la prossima volta, che funziona come pianificato.
Ho il seguente metodo di FragmentHelper:
public static void goToNextFragement(Fragment fragment, int container, boolean addToBackStack, Fragment ctx)
{
// Create new fragment and transaction
FragmentTransaction transaction = ctx.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(container, fragment);
if(addToBackStack)
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
}
Nella transazione da B a C ho impostato il booleano addToBackStack come falsa in modo che il transaction.addToBackStack(null);
non viene chiamato. Questo funziona ancora bene ma dopo è dove inizia il mio problema.
Quando l'utente preme nuovamente C e ritorna A I può ancora vedere la vista gonfiata C sotto la vista di A.
Tutto l'aiuto sarebbe apprezzato. Spero che il mio diagramma aiuti a mantenere questo semplice.
The AlertDialogue era la strada da percorrere. Grazie per aver condiviso la tua esperienza. –
Questo è piuttosto una soluzione alternativa non una soluzione reale, vero? – Brian
risposta non accettabile –