"Zurück" - button auf Action bar von Android . Wie geht es "zurück"?
Rede ich über die (Nummer 1 im Bild), die Schaltfläche mit einem kleinen Pfeil und das app-Symbol und der linken oberen Seite des Bildschirms. Es wird automatisch definiert, wenn wir wählen Sie die "Schwarz-Aktivität" - Vorlage.
Meine app hat eine ziemlich große Hierarchie-Diagramm, bekam über 25 Aktivitäten jetzt.
Ich bin im Grunde nur mit ein paar tutorials und man kann navigieren, um es entsprechend der Kategorien.
Nun, dass "Wieder" (?) button-Ding auf action bar ist auf jedem Bildschirm den ich habe, und ich will es behalten. Der code zeigt keinen Fehler, aber wenn ich tatsächlich diese Taste drücken, wird die app nicht mehr funktioniert.
Was ich will, ist einfach replizieren die eigentliche zurück-button-Funktion, die (1) Taste, die ich zeigte, in der Bild.
Wenn ich drücken Sie es, die meisten top-Bildschirm sollte in der Nähe, und das Letzte, sollte man öffnen. Schließen Sie einfach den Bildschirm.
Was ich versucht habe :
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
dies ist die Funktion, die bläst, die buggy-Taste zusammen mit der Aktion bar. Ich habe versucht ersetzen Sie den gesamten code, und rufen Sie "Fertig stellen" Funktion, aber das scheiterte kläglich.
Ich war nicht in der Lage zu finden, eine Funktion, die speziell für Sie oben Links die Schaltfläche...
Möchte ich den oberen Bildschirm auf den stack(der im Vordergrund), um zu schließen, wenn diese Taste berührt wird.
Wie Sie dies tun ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, der einfachste Ausweg ist, folgt:
Ich gehe davon aus, dass von der Tätigkeit
A
Sie starten die TätigkeitB
. Nun von der TätigkeitB
Sie wollen zurück zu gehen, um die AktivitätA
auf drücken der oberen linken Taste "zurück" auf der Aktionsleiste. rufen Sie einfachthis.finish()
oderActivityName.this.finish()
von dort:Diese sollten, beenden Sie Ihre aktuelle Aktivität. Allerdings, wenn Sie haben viele Aktivitäten, dann könnten Sie müssen dies tun, alle Aktivitäten. So sparen Sie sich von diesem Aufwand können Sie eine Klasse, nennen wir es
AbstractActivity
; erweitertActivity
. Dann können Sie verlängern alle Ihre anderen Aktivitäten-Klassen die Klasse erweitern(AbstractActivity
). InnerhalbAbstractActivity
Sie können den obigen code. So, jetzt dieses Stück code würde, gilt Sie für alle Ihre Aktivitäten und das feature umgesetzt würde für alle von Ihnen. Im Grunde ist diese Art der Sache (Vererbung)kann jederzeit verwendet werden, wenn gibt es einige Gemeinsamkeiten, die anwendbar wäre, zu Ihren vielen Klassen.Wenn Sie erhalten Fehler, bitte posten Sie Ihre
LogCat
wenn Sie weitere Hilfe.Hoffe, dies hilft Ihnen.
getActionBar().setDisplayHomeAsUpEnabled(true);
in IhremonCreate()
Funktion? Es ist, um dem Benutzer zu zeigen, dass die Auswahl nach Hause zurück um eine Ebene nach oben, anstatt auf der obersten Ebene der app. Wenn Sie nicht dann versuchen Sie mit, dass in der onCreate () -android.R.id.home
Hinzugefügt in der api-level 11 was ist für die Abwärtskompatibilität?appComapt
. Bei der Verwendung vonandroid.R.id.home
ich kann sehen, dass die Hause id Hinzugefügt, api 11.super.onBackPressed()
Anrufepublic static void finishAfterTransition(Activity activity) { if (Build.VERSION.SDK_INT >= 21) { ActivityCompat21.finishAfterTransition(activity); } else { activity.finish(); } }
nur um basic-code gegeben durch @shobhit puri...
für den Aufruf der action bar zurück-Taste..fügen Sie den folgenden code in der onCreate () - Methode zusammen mit der onOptionsItemSelected....