即使在检查之后,CountDownTimer也会多次执行

时间:2014-08-16 19:24:35

标签: android countdowntimer

我在服务中有一个CountDownTimer,在检查后启动

if (timerToNextDay == null) {
        timeToNextDay(some long here);
}

问题是,每次初始化服务并且正在检查此计时器时,它总是返回null,即使我没有在任何地方取消它。所以在服务开始几次后,计时器被初始化了3次,我可以注意到它的onTick方法中的这个日志

Log.i("Hours to next day ", (((millisUntilFinished / 1000) / 60) / 60) + "");

那么我该怎么做才能检查定时器是否正在运行,不能多次启动它?

1 个答案:

答案 0 :(得分:4)

为了防止计时器多次初始化,它必须是static,所以它应该像这样声明

  

private static CountDownTimer timer;

这可确保不会成为CountDownTimer

的多个实例