¿Cómo llamar a una función con retraso en Kotlin?
¡Hola a todos! Soy nuevo en Kotlin y desarrollo Android. Tengo un escenario simple: después de presionar un botón, necesito esperar 2 segundos y luego realizar alguna acción (por ejemplo, mostrar un Toast o cambiar el texto en la pantalla). Intenté usar Thread.sleep(), pero esto congela toda la interfaz y la aplicación deja de responder a los toques. Aquí está mi código:
```kotlin
button.setOnClickListener {
Thread.sleep(2000) // ¡La aplicación se congela!
textView.text = "Han pasado 2 segundos"
}
```
Entiendo que esto está mal porque estoy bloqueando el hilo principal (UI thread). Pero, ¿cómo hacerlo correctamente en Kotlin? He oído sobre coroutines, Handler y temporizadores, pero no entiendo qué enfoque es mejor para un retraso simple. Necesito una solución que funcione en Android y no requiera bibliotecas de terceros (además de las estándar). Por favor, explíquenme con ejemplos cómo implementar correctamente una llamada a una función después de un intervalo de tiempo determinado, sin bloquear la interfaz. ¡Gracias de antemano!