2011-04-30 65 views
1

CountDownTimer默认构造函数接受值为millisInFuture和countDownInterval。 如果用户停止计时器,将其设置更改为不同的millisInFuture长度,那么如何在不创建新的CountDownTimer对象的情况下更改millisInFuture值?CountDownTimer上的时间可以更新吗?

我试着在重写CountDownTimer类中使getMillisInFuture方法无济于事。 我需要重写onStart方法,还是什么?

回答

4

这门课不会让你自己做很多。

您可以创建一个包含CountDownTimer timer字段的类和一个隐藏实现的方法update(time, tick)。您仍然需要拨打timer.cancel(),然后用新值创建一个新的CountDownTimer。如果不是这样,或者使用HandlerpostDelayed(...)

看看第二种方法的一个例子,我的回答here

+0

谢谢从头开始创建你的倒计时!这说得很清楚。 – Nexis 2011-05-01 13:16:29

+1

postDelayed(..)解决方案仅适用于应用程序已获得唤醒锁定的情况。否则如果设备进入睡眠模式,则倒计时将停止。但是,在倒计时运行时,获取唤醒锁可以大大增加用电量... – Robert 2014-04-23 14:14:07

相关问题