2013-05-17 160 views
-1

我玩了一点CountDownTimer。然而,对于特殊的应用程序,我需要以下功能:随机CountDownTimer循环

  1. 开始CountDownTimer随机运行
  2. 蜂鸣完成后
  3. 等待5秒钟
  4. 蜂鸣再次 GOTO 1

这个过程应该是一个按钮开始,也应该用按钮取消。我在这里发现了一个循环的CountDownTimer,但这不适用于随机运行时。

+0

for coutdown timer start here http://developer.android.com/reference/android/os/CountDownTimer.html – Raghunandan

回答

1

好的,我不会给你的代码。这是你的功课。然而,我将解释countDownTimer将如何工作。

一旦你设置了CDT类,创建一个新的对象。

private static myCDT newTime;//static makes sure there's only one instance of the variable in the entire program 
newTime = new myCDT(randNum*1000, 1000); 

说randNum是10,那么倒计数是10秒。

要生成随机数找出你想要的最大限度是什么。我假设它是50.所以CDT将有一个0-50s的选项。

int randNum=50*Math.random();

如果你想排除0和希望最低是1s

int randNum=1+49*Math.random();

现在还设置了按钮布尔变量。第一次点击时,将其设置为true。稍后使用此变量作为条件。现在,如果用户再次单击该按钮,请将该变量设置为false。为您的CDT对象newTime调用cancel()函数。现在请为您的CDT调用onFinish()函数。这将使控制流回到while循环,条件现在将是错误的,因此循环停止。确保此循环处于按钮的点击监听器功能中。或者在其他任何函数中,但一定要从点击监听器调用它。