2014-02-02 2 views
0

Я хочу закончить мою кнопку обратного отсчета на кнопку «Назад». Я знаю, что есть несколько похожих вопросов, но это не помогает мне с моей проблемой.Как закончить CountdownTimer на задней кнопке

I've получил следующий код в onCreate()

 @Override 
     public void onFinish() { 



      new CountDownTimer(10000, 550) { 

       @Override 
       public void onTick(long millisUntilFinished) { 
        for(int i = 0; i< arr.size(); i++){ 
         Button aga = arr.get(i); 
         if(aga.getVisibility() == View.VISIBLE){ 
          aga.setVisibility(View.GONE); 
         } 
        } 
        int zufall = (int) (Math.random()*23); 
        setNextButton(arr.get(zufall)); 
       } 

       @Override 
       public void onFinish() { 

        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 

        new CountDownTimer(10000, 350) { 

         @Override 
         public void onTick(long millisUntilFinished) { 
          for(int i = 0; i< arr.size(); i++){ 
           Button aga = arr.get(i); 
           if(aga.getVisibility() == View.VISIBLE){ 
            aga.setVisibility(View.GONE); 
           } 
          } 
          int zufall = (int) (Math.random()*23); 
          setNextButton(arr.get(zufall)); 

          System.out.println("HHH"); 
         } 

         @Override 
         public void onFinish() { 
          System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
          Intent highscore = new Intent (MainActivity.this, Highscore_eintragen.class); 
          highscore.putExtra("count", count); 
          startActivity(highscore); 


         } 
        }.start(); 
       } 
      }.start(); 
     } 
    }.start(); 

Теперь то, что мне нужно, если пользователь нажимает кнопку назад во время CountdownTimer закончить свою деятельность. Любые решения для этой проблемы?

+0

Вы проверили эту ссылку http://stackoverflow.com/questions/3138348/how-to-stop-cancel-android-countdowntimer? – mrroboaat

+0

Да, я проверил эту ссылку. Но в этом случае мне нужно использовать CountdownTimer! – user896692

ответ

1

Вызов CountDownTimer.cancel():

http://developer.android.com/reference/android/os/CountDownTimer.html#cancel()

магазин ссылка на текущий экземпляр CountDownTimer в вашей деятельности во время создания, чтобы иметь доступ к нему внутри деятельности.

+0

Можете ли вы дать мне подсказку, как сохранить ссылку на экземпляр CountDownTimer? – user896692

+1

вы просто создаете новый CountDownTimer() .. вместо этого напишите его как mCountDownTimer = new C ... и затем обратитесь к экземпляру mCountDownTimer, как упомянуто здесь. –

+0

Хорошо, я понял. И как я могу проверить, запущен ли CountDownTimer? Причина, когда я закрываю тот, который не запущен, я получаю Nullpointer. – user896692

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