Android如何在计划后更改TimerTask间隔?

时间:2011-08-31 13:17:44

标签: java android

timerUploadTime = new Timer();
timerUploadTimeTask = new TimerTask() {
   @Override public void run() {
      mHandler.post(new Runnable() {
        @Override
         public void run() {
             ...
          }
      }
    });
 }
 };

timerUploadTime.schedule(timerUploadTimeTask, 1, Integer.parseInt(Utils.loadStringValue(mycontext, "refresh")));

我想在其他代码段中更改计时器的间隔。有没有办法做到这一点? 我不想重新编写代码,我想添加一个新的“句号”间隔。

如何按计划完成?

3 个答案:

答案 0 :(得分:14)

你不能。您必须取消当前任务并重新安排。

答案 1 :(得分:3)

您应该先取消定时器,然后才能为其设置新的时间表。

timerTask.cancel();
timerTask = new MyTimerTask();
timer.schedule(timerTask, delay);

答案 2 :(得分:0)

实现这一目标的一种方法是安排你的Timer每秒运行一次,并在你的计时器运行中,每秒增加一个计数器,然后你可以添加if语句来检查你的计数器mod你想要的计数器变量(在没有做任何事情的情况下返回

timerCounter++;
if((timerCounter%desiredCounter)!=0){
 return;
}