Android:重启计时器

时间:2014-02-02 19:32:55

标签: java android eclipse timer timertask

我使用以下代码创建了一个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);

该应用程序正在崩溃!!

2 个答案:

答案 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(): "取消计时器和所有计划任务。如果当前正在运行的任务,则不会受到影响。此计时器不再安排任何任务。后续调用什么都不做。"