2017-08-04 3 views
0

In meiner App gibt es eine Aktivität (Aktivität 1) mit einigen Tabs. Von dieser Aktivität aus kann eine andere Aktivität gestartet werden (Aktivität 2), von der aus die App nach Abschluss einer Aufgabe zu Aktivität 1 zurückkehrt. Diese Rückgabe zeigt immer die erste Registerkarte in Aktivität1 an, während ich gerne die Registerkarte, die vor dem Start von Aktivität 2 ausgewählt wurde. Dies geschieht tatsächlich erfolgreich, wenn ich die Zurück-Schaltfläche drücke, und ich möchte sie in der Aktion Activity2-> Activity1 replizieren. Wie kann ich es erreichen, möglicherweise ohne die Nummer der ausgewählten Registerkarte von einer Aktivität zu einer anderen zu übergeben? Vielen Dank im Voraus!Rückkehr zu einer bestimmten Registerkarte in der vorherigen Aktivität geöffnet

+0

MrCurious ist auf dem richtigen Weg, aber vielleicht ein bisschen zu weit haben ging. Rufen Sie einfach 'finish()' auf, wenn Sie bereit sind, zu Aktivität 1 zurückzukehren, erhalten Sie wahrscheinlich, was Sie wollen. – Gary99

Antwort

0

in Ihrer Tätigkeit 2, das nicht Ihre Haupttätigkeit ist (i guess) Sie eine Zurück-Taste als Navigationssymbol machen und innerhalb des Navigationssymbols klicken Sie onBackPressed() und this.finish() Methoden schreiben. Wenn Sie zur nächsten Aktivität gehen, wird Ihre aktuelle Activity1 auf den Stack gelegt und nach Activity2 wird sie wieder mit dem Status beendet, den sie noch hatte. RS

your Activity1{ 
.. 
//startActivity(Activity2) 
//some code to launch Activity2 
.. 
} 

hier Ihre Activity1 wird activity2 beginnen und auf dem Stapel mit dem gleichen Zustand zurückgehen, die momentan angezeigt wird!

in ihrem Activity2

Your Activity2{ 
    //any button which will trigger the Activity1 
    //inside it's onCLick(), add this 
    ... 
    onClick(View v){ 
     onBackPressed(); 
     finish(); 
     } 
    //so that your current Activity2 will get finished and lead you 
    //to the mainActivity i.e Activity1 

    } 
+0

Ich bin mir nicht sicher, ob ich verstanden habe, was Sie vorgeschlagen haben. In der onClick-Methode der Schaltfläche, die von Activity2 zu Activity1 führt (es ist in einem Fragment) habe ich nach der Absicht 'getActivity(). Finish()' geschrieben, aber es hat nicht geholfen. Sollte ich die Absichtszeilen durch die Methode call to finish() ersetzen? – paola91

+0

checken noch einmal, ich habe die Antwort bearbeitet @ paola91 – MrCurious

+0

Die Lösung selbst funktioniert, aber ich muss einige Daten von Activity2 zu Activity1 übergeben. Ich habe versucht, dies durch das Bündel statt der Absicht zu realisieren, aber es scheint nicht zu funktionieren (ich meine, die Tab-Auswahl bleibt erhalten, aber die Daten gehen nicht von Activity2 nach Activity1). Irgendwelche Vorschläge? – paola91

Verwandte Themen