我是 Android 开发的新手,正在尝试制作小游戏。CountDownTimer.cancel() 对我不起作用。

任何想法?

感谢您的回答!

CountDownTimer cdt = new CountDownTimer(120000, 1000) {

            public void onTick(long millisUntilFinished) {
                maxTime = (int) (millisUntilFinished / 1000);
                timer.setText(String.valueOf(maxTime));
            }

            public void onFinish() {

            }
        };

        if (startTimer == true) {
            cdt.start();
        } else {
            cdt.cancel();
        }

最佳答案

我必须在这里做一个假设,因为代码没有显示太多!显然,您在 countDownTimer 中使用 onCreate 作为内部类,以便在 startTimer == true 时触发计时器,无论如何它都会创建对象!我想创建 CountDownTimer 的全局实例会更好。

并以这种方式编写您的代码:

if(startTimer == true) {
    cdt = new CountDownTimer(120000, 1000) {
        public void onTick(long millisUntilFinished) {
            maxTime = (int) (millisUntilFinished / 1000);
            timer.setText(String.valueOf(maxTime));
        }

        public void onFinish() {

        }
    }.start(); //start the countdowntimer
}
else{
    cdt.cancel();
}

关于java - CountDownTimer 取消()不工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27730115/

10-10 03:28