2010-10-14 96 views
0

我在我的應用程序中有3個活動。 我的第一個活動(主)有2個按鈕,開始其他活動(一個&兩個)。 One Activity在UI上啓動倒數計時器。 當我點擊返回按鈕Android關閉此活動,當我重新打開活動時,我的計時器被重置。活動問題

我也嘗試重寫:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     moveTaskToBack(true); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

,它的正常工作,但是當我重新開放的主要活動,機器人讓我瞭解定時器的活動。 我該如何解決這個問題?

回答

1

你在哪裏重置你的計時器?如果一個活動在後臺,它不會被銷燬,而是暫停。除非它被銷燬(完成),否則它不會通過onCreate。如果你想給每個活動來到前臺時復位定時器,使用的onResume()方法:

@Override 
protected void onResume() { 
    super.onResume();  

    //reset timer 
} 

這裏閱讀:android life cycle

如果這不是問題,你已經考慮活動生命週期狀態,然後粘貼更多的代碼。

+0

嗨Maragues,謝謝你的回覆。我的問題被顛倒了。當我重新打開此活動時,我不希望我的計時器重置。所以,當我點擊返回按鈕時,我的活動從android被銷燬。 – CeccoCQ 2010-10-14 10:55:03

+0

哦,對不起,我誤解了你的問題。當然,活動1中的櫃檯被摧毀,該活動不可見也不在前景中,因此被摧毀。你爲什麼不在主要活動中保留計時器,並且在需要的情況下,在啓動時將其傳遞給活動One?這只是一個建議的快速和簡單的實施,還有許多其他更詳細的闡述。你的問題更多的是持久性問題,而不是Android問題。 – Maragues 2010-10-14 14:19:00