Hola usuario de nuestra página web, hemos encontrado la solución a tu pregunta, has scroll y la obtendrás aquí.
Solución:
Después de TimerTask
se cancela, no puede volver a ejecutarse, debe crear una nueva instancia.
Lea los detalles aquí:
https://stackoverflow.com/a/2098678/727768
ScheduledThreadPoolExecutor
se recomienda para el código más nuevo, maneja los casos como excepciones y tareas que tardan más tiempo que el intervalo programado.
Pero para su tarea, TimerTask
debería ser suficiente.
Así es como lo hice. Agregar pauseTimer
booleano donde sea que tenga lugar la pausa (quizás el botón de escucha) y no cuente el temporizador si true.
private void timer ()
Timer timer = new Timer();
tv_timer = (TextView) findViewById(R.id.tv_locationTimer);
countTimer = 0;
timer.scheduleAtFixedRate(new TimerTask()
@Override
public void run()
runOnUiThread(new Runnable()
@Override
public void run()
String s_time = String.format("%02d:%02d:%02d",
countTimer / 3600,
(countTimer % 3600) / 60,
countTimer % 60);
tv_timer.setText(s_time);
if (!pauseTimer) countTimer++;
);
, 1000, 1000);
valoraciones y comentarios
Si posees alguna sospecha y forma de limar nuestro post puedes dejar un comentario y con gusto lo estudiaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)