Avatar ·

¿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!