|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Temporizador
Buenas noches, desde hace un par de días estoy con el android studio comiéndome la cabeza para poner una cuenta atrás para que si no haces ninguna acción en X segundos te redirija a otra pantalla.
Os agradecería que ayudarais con alguna idea de como hacerlo y así investigar Muchas gracias a todos. |
|
|
|
#2
|
||||
|
||||
|
Yo lo hago con un handler y el método handler.sendMessageDelayed(...) con el tiempo que le pongas y algo que identifique el mensaje (yo tengo una variable, llamémosla TIMEOUT_MESSAGE de tipo int que vale 1).
En el onCreate tengo esto: Código:
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == TIMEOUT_MESSAGE){
// Lo que quieras hacer
}
}
};
Código:
private void startTimer(){
handler.sendMessageDelayed(handler.obtainMessage(TIMEOUT_MESSAGE), TIEMPO_QUE_SEA);
}
private void stopTimers(){
if (handler != null){
handler.removeMessages(TIMEOUT_MESSAGE);
}
}
En el onResume por ejemplo lo inicias con startTimer. Supongo que me habré dejado algo porque he hecho medio copy-paste de una de mis apps, pero la idea es esa, aprovecharse del handler para enviar mensajitos. Lo bueno del handler es que funciona en el hilo principal, así que puedes hacer de todo en el método handleMessage.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#3
|
||||
|
||||
|
Muy bueno Mocelet, yo lo hago de una forma muchísimo más compleja, esto me lo apunto para a partir de ahora hacerlo así.
|
|
#4
|
||||
|
||||
|
Gracias, desde que descubrí los handlers los uso todo lo que puedo
Otra cosa, para la cuenta atrás es trivial añadir los ticks del contador para actualizar un textview, basta definir otro tipo de mensaje (TICK_MESSAGE con valor 2 por ejemplo) y lanzarlo cada segundo (en mi app como la cuenta es de 5 segundos los programo de golpe: un tick en el momento, otro en 1 segundo, otro en 2... , y a los 5 el mensaje de timeout).
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
![]() |
Estás aquí
|
||||||
|
||||||