Heim >Java >javaLernprogramm >Wie implementiert man die Funktionalität „Double Back Press to Exit' in Android-Aktivitäten?
Viele Android-Apps verwenden die Funktion „Zum Beenden zweimal die Zurück-Taste drücken“ und fordern Benutzer nach der ersten mit einer Toastmeldung auf drücken. Obwohl dieses Verhalten weit verbreitet ist, handelt es sich nicht um eine inhärente Funktion der Android-Plattform.
Lösung:
Um in einer Aktivität das doppelte Zurückdrücken zum Beenden zu implementieren, können Sie dies tun Erstellen Sie ein boolesches Flag (z. B. doubleBackToExitPressedOnce), um das erste Drücken der Zurück-Taste zu verfolgen. Hier ist eine Beispielimplementierung:
<code class="java">private boolean doubleBackToExitPressedOnce = false; @Override public void onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed(); return; } this.doubleBackToExitPressedOnce = true; Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show(); new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { doubleBackToExitPressedOnce = false; } }, 2000); }</code>
Dieser Code initialisiert das Flag „doubleBackToExitPressedOnce“ auf „false“. Wenn die Zurück-Taste gedrückt wird, wird die Flagge überprüft. Wenn es „false“ ist, bedeutet das, dass der Benutzer zum ersten Mal die Zurück-Taste drückt, daher wird das Flag auf „true“ gesetzt und eine Toastmeldung angezeigt.
Ein Handler wird verwendet, um das Flag nach 2 wieder auf „false“ zurückzusetzen Sekunden. Dadurch kann der Benutzer die Zurück-Taste innerhalb von 2 Sekunden zweimal drücken, um die Aktivität zu beenden. Andernfalls wird die Markierung zurückgesetzt und durch Drücken der Zurück-Taste wird zum vorherigen Bildschirm zurück navigiert oder die Aktivität wie gewohnt geschlossen.
Das obige ist der detaillierte Inhalt vonWie implementiert man die Funktionalität „Double Back Press to Exit' in Android-Aktivitäten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!