Android таймер обратного отсчета не остановить в приложении викторины

Извините за мой бедный английский

Привет всем
Я сделал приложение викторины, которые включают в себя 5 вопросов. Я сделал Resulttactivity страницу, которая отображает результат викторины.
Я добавил таймер обратного отсчета 20 секунд для каждого вопроса. Когда таймер обратного отсчета заканчивается, он автоматически переходит к следующему вопросу. После завершения вопросов он должен перейти на страницу Resulttactivity для отображения результата.

У меня только одна проблема…

Если таймер обратного отсчета не заканчивается на 0, он все еще работает в фоновом режиме, и когда вы идете на третий экран под названием ViewAnswerActivity, он возвращает меня на экран ResultActivity.

Как остановить таймер обратного отсчета после достижения третьего экрана? (ViewAnswerActivity)

Часть кода

ConceptActivity.класс

TextView textView;
CountDownTimer countDownTimer;

@Override
Protected void onCreate (Bundle savedInstanceState) {
   Super.onCreate (savedInstanceState);
   SetContentView (R.layout.activity_concept);

    TextView = (TextView) findViewById;

     CountDownTimer = new CountDownTimer (20 * 1000,1000) {
         @Override
         Public void onTick (long millisUntilFinished) {
            TextView.setText ("" + millisUntilFinished / 1000);
         }

         @Override
         Public void onFinish () {
             Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
             StartActivity (conceptIntent);
         }

     } .start ();
 }

1 ответ

  1. Проблема в том, что вы не останавливаете таймер.

              Public void onFinish () {
                            Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
                            StartActivity (conceptIntent);
                    }
    
              public void cancel(){ 
                           if(countDownTimer != null)
                          countDownTimer.cancel(); 
                    }