加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – CountDownTimer cancel()不工作

发布时间:2020-12-15 04:24:36 所属栏目:Java 来源:网络整理
导读:我是 Android开发的新手并试图制作小游戏. CountDownTimer.cancel()对我不起作用. 任何的想法? 谢谢你的回答! CountDownTimer cdt = new CountDownTimer(120000,1000) { public void onTick(long millisUntilFinished) { maxTime = (int) (millisUntilFini
我是 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();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读