【发布时间】:2011-09-19 09:53:53
【问题描述】:
CountDownTimer.cancel() 在以下代码中不起作用:
myTimer = new CountDownTimer(10000, 1000) {
public void onFinish() {
}
@Override
public void onTick(long millisUntilFinished) {
if(null != myObject){
myTimer.cancel();
}
}
}.start();
在上面的代码中,我启动了一个CountDownTimer,它检查对象是否不是null,并相应地取消定时器。该对象由某个侦听器在任何时间点设置。
请参考和建议。我在这里做对了吗?
Gautier Hayoun 的解决方案:
刚刚做了一个替换 可以取消的 CountDownTimer 从 onTick 内部:Github link– Gautier Hayoun 2010 年 12 月 12 日 1:04
【问题讨论】:
-
问题可能是您在新创建的对象内引用
myTimer。试试this.cancel();而不是myTimer.cancel();。 -
这是 Android 错误吗?为此,我真的很沮丧。