2013-05-17 80 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循環,條件現在將是錯誤的,因此循環停止。確保此循環處於按鈕的點擊監聽器功能中。或者在其他任何函數中,但一定要從點擊監聽器調用它。