2013-11-15 60 views
8

我重新启动一个CountDownTimer。我在这里读了很多问题,但没有人能帮助我。 当我使用下面的代码android中的CountDownTimer - 如何重新启动

if(Const.counter != null){ 
    Const.counter.cancel(); 
    Const.counter = null; 
} 


Const.counter = new CustomTimerTask(Const.currentLevel.timeGoal * 1000,1000); 
Const.counter.start(); 

我开始一个新的计数器,但老人们也继续工作。请让我解决它。

+0

尝试使用光度计...你可以esailt重置 – KOTIOS

回答

4

您可以通过取消和重新启动来实现它。下面的例子应该工作。

CountDownTimer mCountDownTimer = new CountDownTimer(500, 1000) { 

    @Override 
    public void onTick(long millisUntilFinished) {} 

    @Override 
    public void onFinish() { 
     isCounterRunning = false; 
    } 
}; 


boolean isCounterRunning = false; 

private void yourOperation() { 
    if(!isCounterRunning){ 
     isCounterRunning = true; 
     mCountDownTimer.start(); 
    } 
    else{ 
     mCountDownTimer.cancel(); // cancel 
     mCountDownTimer.start(); // then restart 
    } 

} 
+2

mCountDownTimer.cancel(); //不重置计数器 –

2

我在这里做了一些不同的诀窍。希望这会帮助你。

if (myCountDownTimer != null) { 
      myCountDownTimer.cancel(); 
     } 
     myCountDownTimer = new MyCountDownTimer(10000, 500); 
     myCountDownTimer.start();