Confirmation de sortie du bouton Retour dans les activités Android
Dans les applications Android, il est courant de demander aux utilisateurs d'appuyer deux fois sur le bouton Retour pour quitter le activité. Ce comportement est connu sous le nom de « double retour à la sortie ». Bien que cela puisse ressembler à une fonctionnalité intégrée, elle n'est pas directement accessible via une classe ou une méthode spécifique.
Implémentation personnalisée
Pour implémenter cette fonctionnalité, vous pouvez créez votre propre logique dans la méthode onBackPressed() de l'activité. Voici un exemple en Java :
<code class="java">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>
En Kotlin, vous pouvez obtenir le même résultat avec le code suivant :
<code class="kotlin">private var doubleBackToExitPressedOnce = false override fun onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed() return } this.doubleBackToExitPressedOnce = true Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show() Handler(Looper.getMainLooper()).postDelayed(Runnable { doubleBackToExitPressedOnce = false }, 2000) }</code>
Dans ces implémentations, nous avons un indicateur booléen (doubleBackToExitPressedOnce) qui permet de savoir si l'utilisateur a déjà cliqué sur le bouton de retour. Si l'indicateur est vrai, l'activité se termine. Sinon, nous définissons l'indicateur sur true et affichons un message toast, donnant à l'utilisateur la possibilité d'annuler l'action de sortie.
Pour éviter des clics infinis sur le bouton retour, nous utilisons un gestionnaire pour réinitialiser l'indicateur doubleBackToExitPressedOnce après un court instant. délai (par exemple, 2 secondes).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!