定时器在第一次运行时不加速,但定时器在下一个工作时刻加速我该如何解决?

问题描述

public void startCountdownTimer() {
         currentCountdown = startCountdown;
         //  stopTimer=false;
         if (stopTimer == true) {
             return;
         }
         for (int i = 1; i <= startCountdown + 1; i++) {
             task = new TimerTask() {
                 @Override
                 public void run() {
                     countdownHandler.post(doA);
                 }
             };
    
             countdownTimer = new Timer();
             countdownTimer.schedule(task,i * 1000);
         }
     }
    
     final Runnable doA = new Runnable() {
         @Override
         public void run() {
             //reset timer when switching to another question
             if (currentCountdown != -1 && btn_next.getText().equals("CHECK") && stopTimer != true) {
                 if (currentCountdown == 0) {
                     relative_stop.setVisibility(View.INVISIBLE);
                     
                     currentCountdown = startCountdown;
                     btn_next.setText("NEXT");
                     toast = Toasty.warning(getApplicationContext(),"Time's UP",1000);
                     toast.show();
                     toast = Toasty.info(getApplicationContext(),correctAnswer,1000);
                     toast.show();
                  

                     countdownTimer.cancel();
                     countdownTimer.purge();
                 }
                 tv_timer.setText("" + currentCountdown);
                 currentCountdown--;
             }
   
    
         }
     };

我在做一个倒计时10秒的定时器,第一次运行正常,连续运行时,延时导致的定时器突然加速。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)