1

我正在尝试使用 .cancel() 函数暂停倒数计时器。但它不会暂停。

我的 cdTimer 是一个全局变量,以便我从其他方法访问。

public void startTimer()
{
    //create timer
    cdTimer = new CountDownTimer(timeLimit, 1000) {
         public void onTick(long millisUntilFinished) {
             timeLeft = (int)millisUntilFinished;
             if(millisUntilFinished < 60000)
                 timer.setText("Time : 00 : " + String.valueOf(millisUntilFinished / 1000) );
             else if(millisUntilFinished >= 60000 && millisUntilFinished < 120000)
                 timer.setText("Time : 01 : " + String.valueOf((millisUntilFinished / 2) / 1000));
             else if(millisUntilFinished >= 120000 && millisUntilFinished < 180000)
                 timer.setText("Time : 02 : " + String.valueOf((millisUntilFinished / 3) / 1000));

             if(millisUntilFinished < 20000)
                 timer.setTextColor(Color.RED);
         }
         public void onFinish() {
             showGameOverScreen();
         }
         }.start();
}

然后从另一种方法,我试图像这样访问它。

public void pauseMenu() 
{
     cdTimer.cancel();
}

有任何想法吗?

4

0 回答 0