Dij*_*vid 35 android scheduling timer
我怎样才能重新安排计时器.我试图取消定时器/时间任务,并使用方法再次安排它.但它显示异常错误:
Exception errorjava.lang.IllegalStateException: TimerTask is scheduled already
代码我用过它:
private Timer timer = new Timer("alertTimer",true); public void reScheduleTimer(int duration) { timer.cancel(); timer.schedule(timerTask, 1000L, duration * 1000L); }
Eri*_*vik 59
如果您看到Timer.cancel()上的文档,您会看到:
"取消计时器和所有计划任务.如果当前正在运行的任务,它不会受到影响.此计时器上不再安排任何任务.后续调用不执行任何操作."
重新安排时,您需要初始化一个新的Timer:
编辑:
public void reScheduleTimer(int duration) {
timer = new Timer("alertTimer",true);
timerTask = new MyTimerTask();
timer.schedule(timerTask, 1000L, duration * 1000L);
}
private class MyTimerTask extends TimerTask {
@Override
public void run() {
// Do stuff
}
}
Run Code Online (Sandbox Code Playgroud)