2011-04-30 81 views
1

CountDownTimer默認構造函數接受值爲millisInFuture和countDownInterval。 如果用戶停止計時器,將其設置更改爲不同的millisInFuture長度,那麼如何在不創建新的CountDownTimer對象的情況下更改millisInFuture值?CountDownTimer上的時間可以更新嗎?

我試着在重寫CountDownTimer類中使getMillisInFuture方法無濟於事。 我需要重寫onStart方法,還是什麼?

回答

4

這門課不會讓你自己做很多。

您可以創建一個包含CountDownTimer timer字段的類和一個隱藏實現的方法update(time, tick)。您仍然需要撥打timer.cancel(),然後用新值創建一個新的CountDownTimer。如果不是這樣,或者使用HandlerpostDelayed(...)

看看第二種方法的一個例子,我的回答here

+0

謝謝從頭開始創建你的倒計時!這說得很清楚。 – Nexis 2011-05-01 13:16:29

+1

postDelayed(..)解決方案僅適用於應用程序已獲得喚醒鎖定的情況。否則如果設備進入睡眠模式,則倒計時將停止。但是,在倒計時運行時,獲取喚醒鎖可以大大增加用電量... – Robert 2014-04-23 14:14:07

相關問題