2016-02-10 4 views
2

Привет, я пытаюсь отменить таймер обратного отсчета в функции On-tick, он отлично работает в леденец, но не работает в Kitkat и ниже. Как отменить его из функции OnTick().Как считатьDownTimer.cancel(); в OnTick(); function

private void startTimer(final int minuti) { 

     countDownTimer = new CountDownTimer(60 * minuti * 1000 + sec * 1000, 
       500) { 


      @Override 
      public void onTick(long leftTimeInMilliseconds) { 


     CountDownTimer.cancel(); 

      } 

      @Override 
      public void onFinish() { 

      } 
     }.start(); 

    } 
+0

Просьба предоставить код, чтобы дать нам что-нибудь работать с .. – Laffen

+0

Пожалуйста, проверьте мой обновленный код – Piku

ответ

0

Я смотрел вокруг, и я нашел this post где вызов метода отмены() в OnTick(), используя альтернативу Android countDownTimer.

У меня также была эта проблема, и я создал глобальную переменную countDownTimer, и я вызвал метод отмены в действии, когда мне было нужно, например myCountDownTimer.cancel().

private CountDownTimer mCountDownTimer; 


private CountDownTimer createTimer(){ 
    return new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 

     //do what you want 
    } 

    public void onFinish() { 
     //do what you want 
    } 

    }.start(); 
} 

В вашей активности вызова:

mCountDownTimer = this.createTimer(); 

И если вы хотите, чтобы отменить его:

mCountDownTimer.cancel(); 
+0

Могу ли я изменить свой код – Piku

+0

Конечно, но я не знаю условия, необходимые для вызова метода отмены. Если вы объясните мне, я сделаю это. Думаю, вы должны вызвать mCountDownTimer.cancel() вне метода createTimer(). – Spirrow