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