2016-04-12 4 views
0

У меня есть Timer, который он начинается с 00:00 хорошо, но когда я хочу, чтобы остановить его я называю cdTimer.cancel(), но тогда я не в состоянии перезапустить Timer со старыми значениями и начинается снова. У меня есть этот метод:Остановка и перезапуск CountDownTimer

private void StartTimer(){ 
    final long EndTime = 3600; 
    cdtTimer = new CountDownTimer(EndTime*1000, 1000) { 
     public void onTick(long millisUntilFinished) { 
      long secondUntilFinished = (long) (millisUntilFinished/1000); 
      long secondsPassed = (EndTime - secondUntilFinished); 
      long minutesPassed = (long) (secondsPassed/60); 
      secondsPassed = secondsPassed%60; 
      tvCounterTimer.setText(String.format("%02d", minutesPassed) + ":" + String.format("%02d", secondsPassed)); 
     } 
     public void onFinish() { 
      tvCounterTimer.setText("done!"); 
     } 
    }.start(); 
} 

Я думал, что я мог бы сохранить значения minutesPassed и secondsPassed, но тогда я должен передать их по параметру, не так ли?

ответ

0

Чтобы CANCLE таймер сделать это

timer.cancel(); 
timer.purge(); 

Чтобы перезапустить таймер, который вы должны будете повторно создать экземпляр объекта, а затем запланировать его. я начну снова.

+0

Я прошу начать с таймера отменено, я имею в виду, если я отменил его в 00:30, когда начинается снова начинается в 00:30 – Stuart2041

+0

Затем планируйте его с 00:30 –