Ich möchte etwas Einfaches mit einer Android-App machen. Wie ist es möglich, zu einer vorherigen Aktivität zurückzukehren?
Welchen Code benötige ich, um zur vorherigen Aktivität zurückzukehren?
Ich möchte etwas Einfaches mit einer Android-App machen. Wie ist es möglich, zu einer vorherigen Aktivität zurückzukehren?
Welchen Code benötige ich, um zur vorherigen Aktivität zurückzukehren?
Android-Aktivitäten werden im Aktivitätsstapel gespeichert. Zu einer früheren Aktivität zurückzukehren, kann zwei Dinge bedeuten.
Sie haben die neue Aktivität aus einer anderen Aktivität heraus mit startActivityForResult . In diesem Fall können Sie einfach die finishActivity() Funktion aus Ihrem Code und Sie gelangen zurück zur vorherigen Aktivität.
Behalten Sie den Überblick über den Aktivitätsstapel. Immer wenn Sie eine neue Aktivität mit einer Absicht beginnen, können Sie ein Absichtsflag angeben wie FLAG_ACTIVITY_REORDER_TO_FRONT
o FLAG_ACTIVITY_PREVIOUS_IS_TOP
. Damit können Sie zwischen den Aktivitäten in Ihrer Anwendung hin- und herschalten. Ich habe sie allerdings noch nicht oft benutzt. Werfen Sie einen Blick auf die Flags hier: http://developer.Android.com/reference/Android/content/Intent.html
Wie in den Kommentaren erwähnt, wird die Aktivität mit startActivity()
dann kann man es schließen mit finish()
. Wenn Sie die Schaltfläche "Nach oben" verwenden möchten, können Sie dies in onOptionsSelected(MenuItem item)
Methode mit Überprüfung der Artikel-ID gegen android.R.id.home
im Gegensatz zu R.id.home
wie in den Kommentaren erwähnt.
Versuchen Sie [Activity#finish()
](http://developer.android.com/reference/android/app/Activity.html#finish()) . Dies ist mehr oder weniger das, was die Schaltfläche "Zurück" standardmäßig tut.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
5 Stimmen
Behalten Sie den Überblick über die letzte offene Aktivität
73 Stimmen
Rufen Sie einfach finish() auf; Prost
0 Stimmen
Super.finish(); wenn Sie es innerhalb der Aktivität aufrufen!
5 Stimmen
Eine Frage dazu: Wenn Android die vorherige Aktivität aufgrund von Speichermangel oder anderen Problemen zerstört hat, ist diese Aktivität dann nicht mehr im Backstack vorhanden, und was passiert dann?
0 Stimmen
@Sunny Ich gehe davon aus, dass der Garbage Collector mit der obersten Aktivität auf dem Stapel beginnt. Wenn es also keine vorherige Aktivität gibt, dann gibt es auch keine aktuelle Aktivität. Aber ich nehme das nur an, weil dieses Verhalten sinnvoller wäre als das Freigeben von Speicher in einem Stapel ohne bestimmte Reihenfolge. Korrigieren Sie meinen Kommentar, wenn jemand es genau weiß.
0 Stimmen
Siehe dies Antwort Ich denke, das wird Ihnen helfen.