android上的倒数计时器问题

时间:2011-03-29 21:53:42

标签: android timer countdown

您好我的活动oncreate方法中有一个倒计时器,如下所示

   start1 = new CountDownTimer(level1time, 1000) 
         //timer updated every second
          {

         public void onTick(long millisUntilFinished) {
       }
    public void onFinish() {
           //switch activities
    }

          }

         .start();
    }

然后我在我的代码中调用start1.cancel。当这个特定活动开始一次但稍后再次创建此活动时,活动会因第一个计时器结束而立即切换。

我的理解是每次创建活动时都应该创建一个新的计时器,但似乎并非如此。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在任何情况下,最好使用Handler而不是Timers。我通常创建一个最终的Runnable对象,它具有我想要在一定时间后运行的东西,在onCreate()中创建一个新的Handler,并在postDelayed(Runnable,int)一定延迟之后将Runnable发布到它。如果用户离开活动或者您希望它不执行,您可以使用定义的Runnable调用Handler.removeCallbacks(Runnable)来停止其上的“计时器”。

这是你问题的高级方法。熟悉Handler类,这就成了一个非常简单的问题。