In meiner App habe ich eine Abmeldefunktion. Wenn der Benutzer auf Abmelden klickt, wird der Startbildschirm aufgerufen. Jetzt beende ich meine App durch Drücken der Zurück-Taste. Was ich aber möchte, ist, dass ich automatisch (dh programmgesteuert) genauso beenden muss wie die Funktion der Zurück-Schaltfläche. Ich weiß, dass durch Aufrufen von finish () die Funktionalität ausgeführt wird. Aber die Sache ist, dass es zur vorherigen Aktivität geht.
android
android-activity
activity-finish
vinothp
quelle
quelle
Antworten:
onBackPressed()
wird unterstützt seit: API Level 5@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { onBackPressed(); } } @Override public void onBackPressed() { //this is only needed if you have specific things //that you want to do when the user presses the back button. /* your specific things...*/ super.onBackPressed(); }
quelle
Sie müssen nicht überschreiben
onBackPressed()
- es ist bereits als die Aktion definiert, die Ihre Aktivität standardmäßig ausführt, wenn der Benutzer die Zurück-Taste drückt. RufenonBackPressed()
Sie einfach an, wann immer Sie die Zurück-Taste "programmgesteuert drücken" möchten.Das würde allerdings nur dazu führen,
finish()
dass man angerufen wird;)Ich denke, Sie sind verwirrt mit dem, was der Zurück-Knopf tut. Standardmäßig ist es nur ein Aufruf von
finish()
, sodass die aktuelle Aktivität nur beendet wird. Wenn Sie etwas hinter dieser Aktivität haben, wird dieser Bildschirm angezeigt.Wenn Sie Ihre Aktivität über die Anmeldung starten, fügen Sie ein CLEAR_TOP-Flag hinzu, damit die Anmeldeaktivität nicht vorhanden ist, wenn Sie Ihre beenden.
quelle
Manchmal ist es nützlich, die Methode onBackPressed () zu überschreiben, da sie, wenn Sie mit Fragmenten arbeiten und zwischen ihnen wechseln, wenn Sie die Zurück-Taste drücken, zum vorherigen Fragment zurückkehren.
quelle
Rufen Sie an,
onBackPressed
nachdem Sie es in Ihrer Aktivität überschrieben haben.quelle
Sie können einfach onBackPressed () verwenden;
oder wenn Sie Fragment verwenden, können Sie getActivity () verwenden. onBackPressed ()
quelle
Fügen Sie einfach finish () hinzu. in Ihrer ersten Klasse '(Anmeldeaktivität) onPause (); Methode. das ist alles
quelle