首页 > 解决方案 > 如果我将 countDownTime 作为参数传递,我的 android 倒计时计时器只会触发 onFinish()。

问题描述

我的倒计时类

private class AutoStartCountDownTimer extends CountDownTimer {

    public AutoStartCountDownTimer(long millisUntilFinished, long countDownInterval) {
        super(millisUntilFinished, countDownInterval);
    }

    @Override
    public void onFinish() {
        log("timer finish..");
    }

    @Override
    public void onTick(long millisUntilFinished) {
        log("some task");
    }

}

我从活动的 onCreate() 方法调用的这个类

new AutoStartCountDownTimer(remainingTime, 1000).start();

此调用直接执行我的计时器类的 onFinish()

但是现在如果按照以下方式调用同一个类,它只运行了 30 秒。

new AutoStartCountDownTimer(30000, 1000).start();

这真的很奇怪,我也没有在任何地方得到任何系统的帮助。

我的目标 SDK 版本是 19

标签: androidparameter-passingcountdowntimer

解决方案


尝试将 onTick 和 onFinish 方法放在计数器中。它对我有用。我在我最近的应用程序中使用了倒数计时器。这是我的代码,也许它会有所帮助

aCounter = new CountDownTimer(total_duration, duration) {

        public void onTick(long millisUntilFinished) {
            log("some task");
        }
        public void onFinish() {
            log("timer finish..");
        }
    };
    aCounter.start();

推荐阅读