我正在使用倒計時器,但當我點擊返回按鈕計時器continue.Can任何機構告訴我我怎樣才能停止當我點擊我的手機後退按鈕不是我的應用程序後退按鈕。定時器沒有停止,當我點擊back按鈕在android
對不起,我的英文。
在此先感謝。
我正在使用倒計時器,但當我點擊返回按鈕計時器continue.Can任何機構告訴我我怎樣才能停止當我點擊我的手機後退按鈕不是我的應用程序後退按鈕。定時器沒有停止,當我點擊back按鈕在android
對不起,我的英文。
在此先感謝。
重寫the onBackPressed()
method怎麼樣?像這樣(未經測試):
CountDownTimer mTimer;
// snip...
@Override
public void onBackPressed() {
mTimer.cancel();
}
只要活動進入後臺(例如按主頁按鈕),他可能應該取消定時器,而不僅僅是後退按鈕。正如@ohm所暗示的那樣,正確的位置在'onPause'中。 – 2011-04-14 03:30:37
@Ted:OP沒有詢問背景情景 - 更具體地說是一個BACK按鈕,它將完成活動。有可能在用戶暫時進入主屏幕時定時器繼續運行,但定時器必須在「完成」方案中停止。兩件不同的事情。 – Squonk 2011-04-14 03:47:20
@MisterSquonk - 是的,計時器應該可以繼續運行,但OP可能希望在活動暫停時停止計時。這就是爲什麼我說「可能」。 Android新手常見的錯誤是認爲後退按鈕是暫停活動的唯一方式。 (OP對「應用程序後退按鈕」的引用暗示了非Android思維) – 2011-04-14 18:14:27
您需要取消定時器。當您按下後退按鈕時請致電timer.cancel()
。例如。在onPause()
方法中。
我自己對Android非常陌生,但它似乎像'onPause()'不會做OP所需要的:http://stackoverflow.com/questions/5572982/onpause-not-called-when-back-按鈕按下。我錯了嗎? – 2011-04-14 03:29:58
@Matt:是的,沒有。通常onPause()就足夠了,但實際上最安全的方法是檢查定時器是否存在(即非null),並在onDestroy()中調用取消作爲最後的手段。 – Squonk 2011-04-14 03:37:09
其實主要問題是,當我按下我的設備返回按鈕,然後我的計時器不停止。 – jubin 2011-04-14 07:31:43
你能解釋更多嗎?你的計時器是做什麼的?也許如果我們理解你的應用,我們可以給出更多答案。 – Squonk 2011-04-14 18:59:55