Ich möchte etwas einfaches auf Android App machen. Wie ist es möglich, zu einer vorherigen Aktivität zurückzukehren?
Welchen Code brauche ich, um zur vorherigen Aktivität zurückzukehren?
Ich möchte etwas einfaches auf Android App machen. Wie ist es möglich, zu einer vorherigen Aktivität zurückzukehren?
Welchen Code brauche ich, um zur vorherigen Aktivität zurückzukehren?
Antworten:
Android-Aktivitäten werden im Aktivitätsstapel gespeichert. Die Rückkehr zu einer früheren Aktivität kann zwei Dinge bedeuten.
Sie haben die neue Aktivität von einer anderen Aktivität aus mit startActivityForResult geöffnet . In diesem Fall können Sie einfach die Funktion finishActivity () aus Ihrem Code aufrufen und kehren zur vorherigen Aktivität zurück.
Behalten Sie den Aktivitätsstapel im Auge. Wann immer Sie eine neue Aktivität mit einer Absicht starten, können Sie ein Absichtsflag wie
FLAG_ACTIVITY_REORDER_TO_FRONT
oder angebenFLAG_ACTIVITY_PREVIOUS_IS_TOP
. Sie können dies verwenden, um zwischen den Aktivitäten in Ihrer Anwendung zu wechseln. Ich habe sie aber nicht viel benutzt. Schauen Sie sich die Flags hier an: http://developer.android.com/reference/android/content/Intent.htmlWie in den Kommentaren erwähnt, kann man die Aktivität mit
startActivity()
schließen , wenn sie mit geöffnet wirdfinish()
. Wenn Sie die Aufwärts - Taste verwenden möchten , können Sie das in fangenonOptionsSelected(MenuItem item)
Verfahren mit der Überprüfung der Artikel - ID gegenandroid.R.id.home
anders alsR.id.home
wie in den Kommentaren erwähnt.quelle
Versuchen Sie es
Activity#finish()
. Dies ist mehr oder weniger das, was die Zurück-Schaltfläche standardmäßig tut.quelle
this.finish();
#
ist ein Indikator, derfinish()
eine nicht statische Methode der Aktivitätsklasse ist. Es ist kein gültiges Java, aber es hilft zu erklären, wie man die Methode verwenden könnte..
, dh:Activity.someStaticMethod()
Schreiben Sie einfach auf "Fertig stellen" () . Sie gelangen zur vorherigen Aktivität.
quelle
Nur das
quelle
Dadurch gelangen Sie zu einer vorherigen Aktivität, bei der der Stapel beibehalten und alle nachfolgenden Aktivitäten vom Stapel gelöscht werden.
Wenn der Stapel beispielsweise A-> B-> C-> D war und Sie B mit diesem Flag starten, ist der Stapel A-> B.
quelle
Möchten Sie die Kontrolle über das Verhalten der Zurück-Schaltfläche übernehmen? Sie können die Zurück-Schaltfläche (um zu einer bestimmten Aktivität zu gelangen) über eine von zwei Methoden überschreiben.
Für Android 1.6 und niedriger:
Oder wenn Sie nur Android 2.0 oder höher unterstützen:
Für weitere Informationen: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
quelle
Rufen Sie einfach diese Methode auf, um die aktuelle Aktivität zu beenden oder mit onBackPressed zurückzukehren
ODER
quelle
Wenn Sie gehen möchten, um nur zur vorherigen Aktivität zu gehen, verwenden Sie
ODER
Wenn Sie zur zweiten Aktivität oder darunter wechseln möchten, verwenden Sie Folgendes:
quelle
Fügen Sie dies in Ihre onCLick () -Methode ein, um zu Ihrer vorherigen Aktivität zurückzukehren
oder Sie können dies verwenden. Es hat perfekt für mich funktioniert
quelle
Wenn Sie die Datei AndroidManifest.xml mit übergeordneter Aktivität korrekt eingerichtet haben, können Sie Folgendes verwenden:
Wo dies Ihre Kinderaktivität ist.
quelle
Versuchen Sie dies, indem Sie die Zurück-Taste drücken
quelle
Sie können explizit anrufen. Dies
onBackPressed
ist der einfachste Weg.Weitere Informationen finden Sie unter Zurück zur vorherigen Aktivität
quelle
Habe das gleiche Problem und
hat gut funktioniert für mich, beide haben gleich funktioniert, aber kein Glück mit
return
quelle
Starten Sie die zweite Aktivität mit Absicht (entweder verwenden
startActivity
oderstartActivityForResult
gemäß Ihren Anforderungen). Wenn der Benutzer die Zurück-Taste drückt, wird die aktuelle Aktivität oben geschlossen und die vorherige angezeigt.Nehmen wir an, Sie haben zwei Aktivitäten, eine zum Auswählen einiger Einstellungen für den Benutzer, wie Sprache, Land usw., und nach der Auswahl klickt der Benutzer auf die Schaltfläche Weiter, um zum Anmeldeformular zu gelangen (zum Beispiel). Wenn die Anmeldung nicht erfolgreich ist, befindet sich der Benutzer in der Anmeldeaktivität. Was passiert, wenn die Anmeldung erfolgreich ist?
Wenn die Anmeldung erfolgreich ist, müssen Sie eine andere Aktivität starten. Dies bedeutet, dass eine dritte Aktivität gestartet wird und noch zwei Aktivitäten ausgeführt werden. In diesem Fall ist es gut zu verwenden
startActivityForResult
. Wenn die Anmeldung erfolgreich ist, senden Sie OK-Daten an die erste Aktivität zurück und schließen Sie die Anmeldeaktivität. Wenn die Daten empfangen werden, starten Sie die dritte Aktivität und schließen Sie die erste Aktivität mit finish.quelle
Sie können dies versuchen:
quelle
Alle neuen Aktivitäten / Absichten haben standardmäßig das Verhalten "Zurück" / "Zurück", es sei denn, Sie haben eine
finish()
für die aufrufende Aktivität codiert .quelle
und wenn Sie auf die Schaltfläche klicken möchten, gehen Sie zurück und setzen Sie sie einfach ein
quelle
Versuchen Sie dies, es funktioniert sowohl auf der Symbolleisten-Zurück-Schaltfläche als auch auf der Hardware-Zurück-Schaltfläche .
quelle
Ich schlage die NavUtils.navigateUpFromSameTask () vor, sie ist einfach und sehr einfach. Sie können sie vom Google-Entwickler lernen. Ich wünschte, ich könnte Ihnen helfen!
quelle
Es gibt nur wenige Fälle, in denen Sie zu Ihrer vorherigen Aktivität zurückkehren können:
Fall 1: Wenn Sie das Ergebnis zu Ihrer vorherigen Aktivität zurückführen möchten, klicken Sie auf ActivityA.java
FBHelperActivity.java
Fall 2: AktivitätA -> FBHelperActivity ----> AktivitätA
ActivityA.java
FBHelperActivity.java
quelle
Beachten Sie zunächst Folgendes, wenn Sie zu einer vorherigen Aktivität zurückkehren möchten. Rufen Sie dann nicht die Methode finish () auf, wenn Sie mit Intent zu einer anderen Aktivität wechseln.
Danach haben Sie zwei Möglichkeiten, von der aktuellen Aktivität zur vorherigen Aktivität zurückzukehren:
Rufen Sie einfach an:
finish()
Klicken Sie unter der Schaltfläche auf den Listener, oder überschreiben Sie die folgende Methode, um mit der Schaltfläche "System zurück" zurückzusetzen:quelle
Neben all den genannten Antworten ist dies immer noch eine alternative Möglichkeit. Nehmen wir an, Sie haben zwei Klassen, Klasse A und Klasse B.
Klasse A Sie haben einige Aktivitäten wie das Aktivieren des Kontrollkästchens vorgenommen, einige Daten und Absichten für Klasse B ausgedruckt. Klasse B, Sie möchten mehrere Werte an Klasse A übergeben und den vorherigen Status von Klasse A beibehalten. Sie können diese Alternative verwenden Methode oder Quellcode herunterladen, um dies zu demonstrieren
http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/
oder
http://developer.android.com/reference/android/content/Intent.html
quelle
Probieren Sie dies einfach in der ersten Aktivität aus
In Ihrer zweiten Aktivität
quelle