gpt4 book ai didi

java - 如何改变java定时器的时间间隔

转载 作者:行者123 更新时间:2023-12-01 11:18:36 24 4
gpt4 key购买 nike

我正在开发一款 Android 俄罗斯方 block 游戏。并且执行时出现IllegalStateException

timer.scheduleAtFixedRate (task, 0L, milliseconds);

public void setTimerInterval (int milliseconds) {
timer.cancel ();
timer = new Timer ();
timer.scheduleAtFixedRate (task, 0L, milliseconds);
}

我这样做是错误的还是什么?我需要取消计时器并创建一个新计时器,因为除非您为其安排一项新任务,否则我无法更改计时器的时间间隔,对吗?

我读了一篇文章here以下是其中一个答案的引用:

A timer can only be scheduled once. If IllegalStateException isn't happening when you call cancel(), but when you try to reschedule the timer, just reinstantiate the timer and then schedule it. Otherwise, I'm not sure.

我没有使用该问题已接受的答案,因为它是关于暂停和恢复计时器的。

我重新实例化了计时器,如上所示,但仍然存在 IllegalStateException。

最佳答案

Handler handler = new Handler();
handler.post(new Runnable() {

@Override
public void run() {
// do the task here
handler.postDelayed(this, milliseconds); // set time here to refresh textView
}
});

毫秒设置为全局并更改它,也许这会是一个更好的解决方案。

关于java - 如何改变java定时器的时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com