Cómo llamar a un método con retardo en Android (Java)
¡Hola a todos! Soy nuevo en el desarrollo de Android y escribo en Java. Me encontré con la siguiente tarea: necesito que después de presionar un botón, aparezca un mensaje Toast en la pantalla, pero no inmediatamente, sino después de 3 segundos. Intenté usar Thread.sleep(3000) en el hilo de UI, pero la aplicación se congela y el Toast no aparece. Leí que no se debe hacer así.
Aquí está mi código:
```java
public void onClick(View v) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Toast.makeText(this, "¡Hola después de 3 segundos!", Toast.LENGTH_SHORT).show();
}
```
Es claro que Thread.sleep bloquea el hilo principal y la UI no se actualiza. ¿Cómo implementar correctamente el retardo para que la aplicación no se congele? He visto menciones sobre Handler y Timer, pero no entiendo cómo aplicarlos correctamente en este escenario simple. Agradecería un ejemplo detallado con explicación.
<<>>
Uso de Handler para ejecución retrasada
El problema en tu código es que bloquea