2017-03-02 1 views
0

Ich konnte wirklich nichts online finden, jeder Thread, den ich auf SO gesehen habe, ging darum, wie man den Stack und den gesamten Stack-Verlauf löscht. Aber ich muss speziell die letzten 6 Stapel in meinem Programm löschen.Android Studio: Wie man "n" Anzahl der Stacks löscht

Gibt es eine Möglichkeit, die letzte n Anzahl der Stapel in einer Aktivität zu löschen?

Oder was ich tun muss, ist den ganzen hinteren Stapel zu löschen, um zu meinem letzten vorherigen Fragment zu gehen.

Szenario: Ein Bildschirm hat vier Fragmente an der Unterseite, die der Benutzer auswählen kann.

Fragment A Fragment B Fragment C Fragment D

wird eine Aktivität von Fragment B bezeichnet, in dem 5 weitere Aktivitäten genannt werden.

Ich muss alle 6 davon löschen und zurück zu Fragment B. Aber gerade jetzt, wenn ich den ganzen Stapel gelöscht habe, geht es zurück zu Fragment A, was ich nicht will.

Also meine Frage ist, wie würde ich nach dem Löschen des Backstacks zurück zu Fragment B gehen?

+0

"Aber jetzt, wenn ich den ganzen Stapel gelöscht habe, geht es zurück zu Fragment A" - warum? Diese Aktivität sollte sich in dem Zustand befinden, in dem Sie sie verlassen haben, vorausgesetzt, Ihr Prozess wurde nicht irgendwo entlang der Linie beendet. Wenn Fragment B angezeigt wird, sollte Fragment B immer noch angezeigt werden. – CommonsWare

+0

Weil die MainActivity, die sie standardmäßig aufruft, Fragment A aufruft, aber wenn ich zurück zum Stack gehe, wird sie in Fragment B gespeichert. @CommonsWare – DaveTheCoder

Antwort

0

Sie können startActivityForResult() verwenden und können eine Art von Anzeige von der obersten Aktivität erwarten, um finish() in der Methode protected void onActivityResult (int requestCode, int resultCode, Intent data) aufzurufen.

Verwandte Themen