Avatar ·

Comment appeler une fonction avec un délai en Kotlin ?

Bonjour à tous ! Je suis débutant en Kotlin et en développement Android. J'ai un scénario simple : après avoir cliqué sur un bouton, je dois attendre 2 secondes, puis effectuer une action (par exemple, afficher un Toast ou changer le texte à l'écran). J'ai essayé d'utiliser Thread.sleep(), mais cela bloque toute l'interface et l'application cesse de répondre aux touches. Voici mon code : ```kotlin button.setOnClickListener { Thread.sleep(2000) // L'application se bloque ! textView.text = "2 secondes se sont écoulées" } ``` Je comprends que c'est incorrect car je bloque le thread principal (UI thread). Mais comment faire correctement en Kotlin ? J'ai entendu parler des coroutines, Handler et des timers, mais je ne comprends pas quelle approche est la meilleure pour un simple délai. J'ai besoin d'une solution qui fonctionne sur Android et ne nécessite pas de bibliothèques tierces (en dehors des bibliothèques standard). Veuillez expliquer avec des exemples comment implémenter correctement un appel de fonction après un intervalle de temps donné, sans bloquer l'interface. Merci d'avance !