2016-09-03 3 views
0

Ich habe eine Activity wo ich das Profil meines Benutzers zeigen. Um das Profil von Kontakten des Benutzers anzuzeigen, benutze ich exakt das gleiche Activity.Ist es möglich, zwei Instanzen einer Aktivität oben zuzulassen?

Dies ist die Activity Konfiguration in meinem mainfest.xml

<activity 
    android:name=".activities.ActivityProfile" 
    android:label="@string/activity_profile" 
    android:launchMode="standard" /> 

Wenn ich jetzt ein zufälliges Profil meiner Kontakte öffnen und danach mein eigenes Profil öffnen, wird die aktuellen Activity meine Kontakte Profil ersetzt zu werden durch die Activity mit meinem eigenen Profil. Stattdessen möchte ich eine andere Instanz des Profils Activity oben auf dem Kontaktprofil Activity drücken, so dass, wenn ich von meinem eigenen Profil zurückdrücke, das Profil meines Kontakts aus dem Backstack kommen würde.

Ist es möglich, meine Android-App zwei gleiche Aktivitäten übereinander zu haben?

EDIT

ich nicht andere launchMode, die ein solches Verhalten würde finden können. Es gibt nur standard, singleTop, singleTask, singleInstance

+0

Fragmente wären in diesem Szenario besser geeignet. Sie können eine übergeordnete Aktivität haben und verschiedene Instanzen derselben Fragmente mit unterschiedlichen Argumenten starten. Vergessen Sie nicht, FragmentTransaction # addToBackStack (String) zu verwenden, um sie im Stapel zu behalten. –

+0

Klingt wie eine nette Abhilfe, wenn es nicht möglich ist, dieses Verhalten mithilfe von Aktivitäten zu erhalten. – Mulgard

Antwort

1

Es ist sehr gut möglich Instanzen derselben Activity in Standard-Startmodus zu stapeln. Zum Beispiel von Ihrer Basis ActivityProfile rufen Sie einfach an:

Intent intent = new Intent(this, ActivityProfile.class); 
startActivity(intent); 

Sobald die neue Aktivität öffnet, können Sie überprüfen, ob es die erste Aktivität nicht ersetzt hat, wie die Zurück-Taste drückt, wird zur vorherige Aktivität zurück.

Verwandte Themen