我正在开发一个android俄罗斯方块游戏。而在如何更改java定时器的时间间隔
public void setTimerInterval (int milliseconds) {
timer.cancel();
timer = new Timer();
timer.scheduleAtFixedRate (task, 0L, milliseconds);
}
上午执行
timer.scheduleAtFixedRate (task, 0L, milliseconds);
当我做这个错误地或某事发生了一个IllegalStateException? 我需要取消计时器并创建一个新计时器,因为除非您为其安排新任务,否则无法更改计时器的时间间隔,对吗?
我看了一个帖子here,这里是其中一个答案的话:
定时器只能安排一次。如果调用cancel()时没有发生IllegalStateException,但当您尝试重新计划计时器时,只需重新实例化计时器,然后对其进行计划即可。否则,我不确定。
我没有使用该问题的接受答案,因为它是关于暂停和恢复计时器。
我重新实现了如上所示的计时器,但仍然存在IllegalStateException。
我没有提供堆栈跟踪,因为我不知道如何在问题编辑器中执行此操作。谁能帮我? – Sweeper
你引用的答案是无稽之谈。 – EJP
真的吗?我认为这很有用。 – Sweeper