我使用以下代码创建了一个TimerTask:
Screen_Timer_Task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
@Override
public void run()
{
// Do my stuff
}
});
}
};
然后,我用那个启动TimerTask:
Screen_Timer.scheduleAtFixedRate(Screen_Timer_Task, 1, 1);
这很好用。但是在打电话之后
Screen_Timer.cancel();
Screen_Timer.purge();
它不会重启
Screen_Timer.scheduleAtFixedRate(Screen_Timer_Task, 1, 1);
该应用程序正在崩溃!!
答案 0 :(得分:1)
public void start_my_timer()
{
Screen_Timer_Task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
@Override
public void run()
{
// Do my stuff
}
});
}
};
Screen_Timer.schedule(Screen_Timer_Task, 1, 1);
}
答案 1 :(得分:0)
"任务可以运行一次"来自docs timerTask
如果要使用它,则必须再次创建TimerTask
对象。
再次点击Timer
,因为cancel()
:
"取消计时器和所有计划任务。如果当前正在运行的任务,则不会受到影响。此计时器不再安排任何任务。后续调用什么都不做。"