607 Stimmen

Android: Zur vorherigen Aktivität zurückkehren

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?

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!

551voto

Abhinav Punkte 36146

Android-Aktivitäten werden im Aktivitätsstapel gespeichert. Zu einer früheren Aktivität zurückzukehren, kann zwei Dinge bedeuten.

  1. 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.

  2. 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.

251voto

adamp Punkte 28682

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.

103voto

Umer Rana Punkte 1007

Einfach auf click schreiben beenden() . Sie gelangen dann zur vorherigen Aktivität.

70voto

AtanuCSE Punkte 8502

Nur dies

super.onBackPressed();

42voto

Dmitry Ryadnenko Punkte 21694
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Dadurch gelangen Sie zu einer vorherigen Aktivität, die ihren Stapel beibehält und alle nachfolgenden Aktivitäten vom Stapel löscht.

Wenn der Stapel zum Beispiel A->B->C->D war und Sie B mit diesem Flag beginnen, wird der Stapel A->B

CodeJaeger.com

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.

Powered by:

X