2013-11-15 14 views
8

I per riavviare un CountDownTimer. Ho letto molte domande qui, ma nessuna delle risposte mi ha aiutato. Quando uso il seguente codiceCountDownTimer in Android - come riavviarlo

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


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

inizio un nuovo contatore ma il vecchio si continua anche il lavoro. Per favore, aiutami a risolverlo.

+0

tenta di utilizzare cornometer ... u può esailt resettare – KOTIOS

risposta

4

Si può realizzare annullando e riavviando. Il seguente esempio dovrebbe funzionare.

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(); // non resetta il contatore –

2

Ho fatto un trucco diverso qui. Spero che questo ti possa aiutare.

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