Avatar ·

Comment appeler une méthode avec un délai en Android (Java)

Bonjour à tous ! Je suis novice en développement Android, j'écris en Java. J'ai rencontré un problème : après avoir cliqué sur un bouton, un message Toast doit apparaître à l'écran, mais pas immédiatement, après 3 secondes. J'ai essayé d'utiliser Thread.sleep(3000) dans le thread UI, mais l'application se bloque et le Toast n'apparaît pas. J'ai lu que ce n'est pas recommandé. Voici mon code : ```java public void onClick(View v) { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } Toast.makeText(this, "Bonjour dans 3 secondes !", Toast.LENGTH_SHORT).show(); } ``` Il est clair que Thread.sleep bloque le thread principal et l'UI ne se met pas à jour. Comment implémenter correctement un délai sans bloquer l'application ? J'ai vu des mentions de Handler et Timer, mais je ne comprends pas comment les appliquer correctement dans ce scénario simple. Je serais reconnaissant pour un exemple détaillé avec explication. <<>>

Utilisation de Handler pour une exécution différée

Le problème dans votre code est le blocage