编程语言
首页 > 编程语言> > java – CountDownTimer cancel()不工作

java – CountDownTimer cancel()不工作

作者:互联网

我是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();
        }

解决方法:

我必须在这里做一个假设,因为代码没有显示太多!显然你在onCreate中使用countDownTimer作为内部类,这样在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();
}

标签:android,java,countdowntimer
来源: https://codeday.me/bug/20190728/1560242.html