定时器不会以正确的数字重置

时间:2015-08-15 19:59:53

标签: android timer

我想做什么
     - 定时器运行后,将定时器重置为60秒,然后再重新启动。

问题
- 每次重置时,它会转到一个随机值,例如6或13,然后在运行我想要的任务后重置为60.

我尝试了什么
这是我的计时器代码,目前正在解决这个问题。

 if (seconds != 0) {
            timer = new Timer();
            TimerTask task = new TimerTask() {
                int i = 0;

                @Override
                public void run() {
                    i++;
                    //do something
                    if (i % seconds == 0) {
                        //run the script on the main thread
                        Runnable myRunnable = new Runnable() {
                            @Override
                            public void run() {
                                newSeconds = 0;
                                seconds = 60;
                                new getLocation().execute();
                            } // This is your code
                        };
                        mainHandler.post(myRunnable);
                    } else {
                        newSeconds = (seconds - (i % seconds));
                        System.out.println(newSeconds);
                    }
                }
            };
            timer.schedule(task, 0, 1000);
        }

它重置一个新的计时器,并检查值秒。通过额外内容发送秒数,我在onCreate的顶部接收,如此

    seconds = getIntent().getExtras().getInt("seconds");

0 个答案:

没有答案