Como chamar uma função com delay em Kotlin?
Olá a todos! Sou novo em Kotlin e desenvolvimento Android. Tenho um cenário simples: após clicar em um botão, preciso esperar 2 segundos e então executar alguma ação (por exemplo, mostrar um Toast ou alterar o texto na tela). Tentei usar Thread.sleep(), mas isso congela toda a interface e o aplicativo para de responder a toques. Aqui está meu código:
```kotlin
button.setOnClickListener {
Thread.sleep(2000) // O aplicativo congela!
textView.text = "2 segundos se passaram"
}
```
Entendo que isso está errado, porque estou bloqueando a thread principal (UI thread). Mas como fazer isso corretamente em Kotlin? Ouvi falar sobre coroutines, Handler e timers, mas não entendo qual abordagem é melhor para um delay simples. Preciso de uma solução que funcione no Android e não exija bibliotecas de terceiros (além das padrão). Por favor, explique com exemplos como implementar corretamente uma chamada de função após um intervalo de tempo, sem bloquear a interface. Desde já, obrigado!