2013-11-15 103 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();