ActionBar 'up' Button zerstört die Elternaktivität, 'back' nicht
Ich habe eine relativ einfache Android-app mit einem Activity
zeigt eine Liste von Elementen, und eine andere zeigt die details zu einem ausgewählten Artikel. Ich beginne die Liste Aktivität, das ist meine höchste Aktivität (mit FLAG_ACTIVITY_CLEAR_TOP
deaktivieren Sie die login-Aktivität, aus dem dieser genannt wird) mit:
Intent intent = new Intent(this, ListInstancesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
und in dieser Tätigkeit habe ich handeln ein Element ausgewählt wird, mit:
Intent detailIntent = new Intent(this, ShowInstanceActivity.class);
detailIntent.putExtra(ShowInstanceFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
Alles Prima funktioniert, und wenn ich auf den softkey "zurück" - Taste, dann komme ich zu der ListInstancesActivity
als ich erwarten würde. Allerdings, wenn ich stattdessen drücken Sie die zurück - /nach oben-Taste auf der Menüleiste, dann ist es zerstört und neu erstellt die ListInstancesActivity
. Das ist schlecht, da es relativ rechenintensiv, so zu tun.
Wie kann ich die action bar in der gleichen Weise Verhalten, wie Sie den softkey, und gerade zurück zu der vorherigen Aktivität, anstatt es zu zerstören.
Es sollte angemerkt werden, dass ich mit der support library version der actionbar.
Sind die relevanten Teile meiner AndroidManifest.xml
sind
<activity
android:name=".agenda.ListInstancesActivity"
android:label="@string/list_instances_activity_title">
</activity>
<activity
android:name=".agenda.ShowInstanceActivity"
android:label="@string/show_instance_activity_title"
android:parentActivityName=".agenda.ListInstancesActivity">
</activity>
InformationsquelleAutor der Frage jgm | 2014-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie überschreiben, was die actionbar oben-Taste tun sollte, wie:
Neu erstellen und die back-button-Effekt.
InformationsquelleAutor der Antwort Aashir
In der android manifest.xml fügen Sie die folgenden Attribut für die übergeordnete Aktivität-tag für mich gearbeitet.
Referenz : http://developer.android.com/guide/topics/manifest/activity-element.html
Beziehen sich die ähnliche Frage:
Wie kann ich die Rückkehr zu einer übergeordneten Aktivität richtig?
InformationsquelleAutor der Antwort vikki_logs
beim angeben von übergeordneten Aktivität manifestieren, dann wird es gestartet, wenn Sie klicken Sie auf die up-Navigations-Taste in der Aktionsleiste.
schauen das ich diese Frage bereits beantwortet
https://stackoverflow.com/a/32401235/3479012
müssen Sie überschreiben, bis nevigation-button in der actionbar per Zugriff von android.R.id.zu Hause in onOptionsItemSelected und machen top-finish-Aktivität.
InformationsquelleAutor der Antwort Jolson Da Costa
Es sieht aus wie Ihre Eltern-Aktivität ist nicht setup korrekt in Ihrem manifest. Fügen Sie diese in Ihrem ShowInstanceActivity Aktivität tag:
So, Ihre Letzte Aktivität-tag sollte wie folgt Aussehen:
InformationsquelleAutor der Antwort T3KBAU5