¿Cómo puedo dar un retraso de unos segundos sin usar hilos. Alguna función que puedo llamar en cualquier lugar para dar retraso. La función incorporada de Android es muy preferida. Graciasdar un retraso de unos segundos sin usar hilos
8
A
Respuesta
18
Utilice un controlador y envíe un mensaje simple o ejecutable usando un método como postDelayed().
Por ejemplo, definir un objeto Handler para recibir mensajes y Runnables:
private Handler mHandler = new Handler();
Definir un Ejecutable:
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
// Do some stuff that you want to do here
// You could do this call if you wanted it to be periodic:
mHandler.postDelayed(this, 5000);
}
};
Causa la Ejecutable para ser enviado a la Handler después de un retraso especificado en ms
:
mHandler.postDelayed(mUpdateTimeTask, 1000);
Si no quiere la complejidad de se Al asignar un Ejecutable al Manejador, también puede enviar un mensaje, incluso un mensaje vacío, para mayor simplicidad, usando el método sendEmptyMessageDelayed()
.
0
llamada al método retraso de un contexto estático
public final class Config {
public static MainActivity context = null;
}
En MainActivity:
@Override
protected void onCreate(final Bundle savedInstanceState) {
...
Config.context = this;
...
}
...
public void execute_method_after_delay(final Callable<Integer> method, int millisec)
{
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
try {
method.call();
}
catch (Exception e) {
}
}
}, millisec);
}
De cualquier clase utilizando métodos estáticos:
private static void a_static_method()
{
int delay = 3000;
Config.context.execute_method_after_delay(new Callable<Integer>() {
public Integer call() {
return method_to_call();
}
}, delay);
}
public static Integer method_to_call()
{
// DO SOMETHING
Cuestiones relacionadas
- 1. Notificación de borrado después de unos segundos
- 2. Ocultar div después de unos segundos
- 3. fadeout y eliminar un elemento después de unos segundos
- 4. MediaPlayer deja de reproducirse después de unos 5 segundos
- 5. Android buscapersonas cambia páginas automáticamente después de unos segundos
- 6. Cómo agregar un retraso de 2 o 3 segundos
- 7. TimeSpan.TotalMinutes sin segundos
- 8. ¿Cómo puedo dejar/retrasar el código durante unos segundos
- 9. Agregue un retraso al Diálogo de progreso
- 10. aplicación wpf para transmitir video con retraso de 15 segundos
- 11. ¿Cómo retraso una llamada de función durante 5 segundos?
- 12. ¿Cómo crear un objeto de parámetro de método con ReSharper en unos segundos?
- 13. Usando jQuery para cambiar el texto del botón de entrada de nuevo después de unos segundos
- 14. Creando un archivo seguro sin hilos shared_ptr
- 15. Usar un objeto referenciado en los hilos
- 16. GWT: ¿Puedo poner retardo de unos pocos segundos después de mostrar una ventana emergente
- 17. Django TimeField Modelo sin segundos
- 18. Adición de segundos a DateTime con unos resultados válidos de dobles en ArgumentOutOfRangeException
- 19. resaltar el color del borde del cuadro de texto por unos segundos?
- 20. Shell script generando un proceso después de un retraso
- 21. Retraso mouseout/hover con transiciones CSS3
- 22. Usar String.Format en un TimeSpan para generar segundos completos sin milisegundos
- 23. Transposición nude sin dar el resultado esperado
- 24. Cómo refrescar la página si no hay actividad del usuario durante unos segundos usando javascript
- 25. ¿Debo usar horquilla o hilos?
- 26. Poner un retraso en Javascript
- 27. Mysql SEC_TO_TIME sin segundos posteriores - Solución encontrada
- 28. 10 segundos de retraso entre el inicio de sesión y el intérprete de comandos de shell.
- 29. ¿Cuándo debo usar los hilos?
- 30. cabecera retraso ubicación
gracias! Acabo de agregar 'new Handler(). sendEmptyMessageDelayed (1, 2500);' sin embargo, no sé qué representa el valor 'int what' – austin
El enlace que proporcionó ya no está disponible ... – amalBit
OK, enlace eliminado. Creo que la respuesta es bastante autónoma, ya que aún es. – Trevor