2013-01-06 91 views
1

我在我的活動中有一些紡織品。屏幕設置爲2分鐘後鎖定。 解鎖屏幕後,我所有的旋鈕都被重置。我認爲,解鎖後調用onCreate方法。有什麼辦法可以設置活動在解鎖屏幕後不重新創建嗎?旋轉屏幕時也會發生同樣的情況,但這不是問題,我可以將佈局設置爲僅限肖像。防止解鎖後重新創建活動屏幕

或者,也許是有一些場合,比如旋轉,以防止再次調用onCreate方法?:

android:configChanges="orientation" 

感謝。

回答

0

http://developer.android.com/reference/android/app/Activity.html

「活動可以續和暫停狀態 之間頻繁去 - 比如當設備進入睡眠狀態」

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

你需要管理狀態使用Activity生命週期方法,而不是試圖「設置活動不要重新創建」。活動通過設計始終創建/銷燬/重新創建(並且對於記錄鎖定到一個方向也是一種類型的幫助,正確地處理狀態意味着您不必這樣做)。

這個問題可能會幫助,答案有一個處理實例狀態的一個例子:Saving Android Activity state using Save Instance State

+0

這是否意味着,我必須以某種方式保存裏面的onPause我微調的狀態,並設置微調回到自己insede的onResume位置?這是唯一的選擇嗎?我的佈局有很多spinners和multichoice dialogs .. – Dusan

+0

是的,就是這樣。將其保存在onSaveInstanceState中並將其恢復到onRestoreInstanceState中。即使有很多項目,它也不應該那麼糟糕。這通常是非常簡單的狀態,與「實例」相關,例如您的微調控制器的位置。只需爲該狀態創建一個簡單對象,並將其用於所有字段。然後解析它以在這些方法中保存/恢復狀態。 –

+0

這就是我所要避免的......事情是......在大約9個紡紗廠之後,我有一個清單,每行可以有3個不同的狀態。通過點擊每一行,彈出一個多選對話框。當屏幕鎖定時,所有這些都會重置。所以在onSaveInstanceState中恢復一切並不容易。但看起來,這是正確做到這一點的唯一方法。無論如何,感謝您的幫助! – Dusan