2014-12-14 7 views
0

Мне нужно запустить таймер с начальными 60 секунд, но когда я нажимаю на кнопку, установите 5 секунд или просто отменить, но он не работает:Почему CountDownTimer не отменяет?

temp = new CountDownTimer(60000, 1000) { 
     Button acabar= (Button) findViewById(R.id.button_abandonar); 
     public void onTick(long millisUntilFinished) { 

      int seg = (int) (millisUntilFinished /1000); 
      if(seg<10){ 
       veces.setText("0" + seg); 
      }else{ 
       veces.setText("" + seg); 
      } 
     } 

     public void onFinish() { 
       //something 

     } 

     }; 

    if(v.getId()==R.id.view_pulsar){ 
     //Here I start temp and I do more things, but I don't show this code because is not relevant to this problem 
    }else if(v.getId()==R.id.button_abandonar){ 
     temp.cancel(); 
     //temp = null; 
     //here set 5 seconds, not 60 second I think cancel and restart it 

} 

ответ

0

не может видеть ваше temp.start(); возможно, вы должны назвать его

редактировать Reff http://developer.android.com/reference/android/os/CountDownTimer.html

new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     mTextField.setText("done!"); 
    } 
    }.start(); 
+0

Да, я начинаю свой темп в: if (v.getId() == R.id.view_pulsar) { // ... }, но не останавливается. Я не показывал этот код, потому что он очень большой, но я начинаю его там – ajncespedes

1

Я просто исправить это, я инициализирован таймер на метод OnClick и имел различный таймер в то же время!

Какая невежественность!

Смежные вопросы