防止重新执行计时器

时间:2017-11-28 12:59:23

标签: android timer

我是Android的新手 我用计时器来安排重复这个方法 我需要停止计时器,并在重新加载活动时运行。

这是代码。

timer = new Timer();
        handlerUpdate = new Handler();

        updateRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    Log.e("test", "run");
                    updateTickets(printedTicketsJson);
                } catch (Exception e) {
                    // error, do something
                }
            }
        };
        TimerTask task = new TimerTask() {

            @Override
            public void run() {
                handlerUpdate.post(updateRunnable);
            };

        };
        timer.schedule(task, 0, 3000); 

***我需要停止并重启计时器。

1 个答案:

答案 0 :(得分:0)

在重新加载活动之前停止Timer在您的方法中使用timer.cancel(); 要重新加载活动,请致电recreate();

  

导致使用新实例重新创建此活动。这导致与由于配置更改而创建Activity时基本相同的流 - 当前实例将经历其生命周期到onDestroy(),然后在其后创建新实例