Navigieren auf Android: Wie komme ich zurück zum vorherigen Bildschirm?

Ich würde gerne wissen, wie man auf Android zum vorherigen Bildschirm zurückkehrt. Geh nicht einfach zurück. Normalerweise tippe ich auf dem Smartphone auf die Schaltfläche „Zurück“, aber oft existiert es einfach oder bringt mich zurück nach Hause, wenn es mich zum vorherigen Bildschirm hätte bringen sollen.

Antworten (2)

Das ist etwas zu stark vereinfacht, aber die einfache Antwort lautet: Sie können nicht.

Was macht dies zu einer Vereinfachung? Nun, es hängt davon ab, wie eine bestimmte App implementiert wird. Android-Anwendungen basieren auf dem Konzept einer Activity , das in der Entwicklungsdokumentation wie folgt beschrieben wird:

Eine Aktivität ist eine einzelne, fokussierte Sache, die der Benutzer tun kann.

Wenn eine neue Aktivität gestartet wird, wird sie auf einem systemweiten "Aktivitätsstapel" oben auf dem Stapel platziert (für alle, die sich nicht auskennen, siehe Stapel (Datenstruktur) ). Wenn die Zurück-Schaltfläche gedrückt wird, wird die aktuelle Aktivität (ganz oben auf dem Stapel) beendet und aus dem Stapel entfernt, wodurch die vorherige Aktivität (darunter auf dem Stapel) in den Vordergrund gebracht wird. Dieses Pop/In-Vordergrund-Verhalten setzt sich fort, wenn Sie die Zurück-Taste gedrückt halten, bis Sie bei HOME landen, was der Beginn des Stapels ist. Von hier aus können Sie nicht mehr „zurück“ gehen.

Wie gilt das nun für Apps? In vielen Anwendungen stellt eine Aktivität einen einzelnen Bildschirm dar. Wenn Sie zu einem neuen Bildschirm wechseln, wird tatsächlich eine neue Aktivität für den Bildschirm erstellt und auf den Stapel gelegt, der über dem Stapel liegt, der sie erstellt hat. In Apps, die dieses Design verwenden, bringt Sie das Zurückschlagen tatsächlich zum vorherigen Bildschirm. Der Grund sollte ziemlich offensichtlich sein: Der Bildschirm, den Sie gerade sehen, befindet sich ganz oben im Stapel, der vorherige Bildschirm befindet sich darunter (da es sich bei beiden um Aktivitäten selbst handelt). Wenn Sie also zurückschlagen, wird der aktuelle Bildschirm aus dem Stapel entfernt, beendet und dann der vorherige geladen.

Dies ist jedoch kein erforderliches Modell . Sie können eine Aktivität haben, die mehrere Layouts und Bildschirme enthält. Wir haben dies in meinem Büro zum Beispiel verwendet, um eine Art Konfigurationsassistent zu erstellen. Die Idee ist, dass das Zurückschlagen einfach den Assistenten beenden sollte, und es gibt die Schaltflächen "Zurück" und "Weiter" auf dem Bildschirm selbst, um die Navigation zu ermöglichen. Selbst wenn Sie sich auf dem dritten Bildschirm des Assistenten befinden, haben Sie also keine zusätzlichen Aktivitäten erstellt, sodass Sie durch Drücken der Zurück-Schaltfläche (harte Schaltfläche) die „Assistenten-Aktivität“ verlassen und zurück zur „Menü-Aktivität“ gelangen.

Weiterhin kann das Verhalten der Zurück-Taste durch eine Anwendung ihrer Wahl außer Kraft gesetzt werden. Es ruft einfach eine Methode mit dem Namen onBackPressed()auf, die das Standardverhalten des Zurückgehens auf dem Aktivitätsstapel ausführt. Wenn es jedoch eine überschriebene Implementierung von onBackPressed()in der aktuellen Aktivität gibt , wird diese stattdessen ausgeführt.

Zusammenfassend lässt sich sagen: Die Idee, dass der Zurück-Button zum vorherigen "Bildschirm" zurückkehrt, ist überhaupt nicht garantiert. Die harte Zurück-Schaltfläche befasst sich nur mit Aktivitäten , die für den Benutzer oft "Bildschirme" sind, aber nicht unbedingt sind und in keiner Weise erforderlich sind. Es gibt kein Konzept von „Einen Bildschirm zurückgehen “, es sei denn, die von Ihnen verwendete App sagt dies aus, aber diese Funktionalität wird immer noch nicht durch die Zurück-Schaltfläche selbst bereitgestellt.

Weiterlesen:

Wenn eine App Sie nicht zum vorherigen Bildschirm bringt, wenn Sie auf Zurück klicken, können Sie oder Android nichts dagegen tun. Sie könnten den Entwickler der App bitten, sie zu implementieren, aber das war es auch schon.