2012-09-04 129 views
2

在我的應用程序中,我在表格視圖上有一個過濾函數,它在表格中給出過濾結果。我在共享首選項中設置了過濾選項(複選框),所以下次用戶進入過濾器屏幕時,會看到複選框已選中,以便知道表格過濾的內容以及上次篩選過的內容。如何檢查應用程序是否從內存中恢復?

當應用程序啓動我設置他們都未選中(要求),但我不知道應用程序何時啓動或恢復。當應用程序從內存中恢復時,它再次初始化我的所有數據類型。我如何檢查應用程序是否恢復。如果我在活動onResume中設置事物 - 每次我只想知道應用程序何時恢復,就不會調用它。

會發生什麼,現在我不知道當應用程序從內存中恢復,我的過濾器的行爲就像應用程序啓動並設置所有選中

回答

0

有狀態沒有「從內存中恢復」。它被恢復或創建(或重新啓動)。所以,你應該返工您的應用程序邏輯和init上的onCreate()代替onResume()

0

您可以在onRestart()恢復您的複選框你的東西,這意味着你的活動並沒有死亡,它已被停止後重新開始(手動或通過機器人) 。

+0

嗯讓我試試看似東西將與此 – mindfreezer

+0

一起工作試試吧!我編輯它更清楚。 – ThePCWizard

0

我無法正確理解您的問題,但據我瞭解,您正在通過共享偏好過濾用戶選項。如果是這樣,你不需要以編程方式設置/設置每個選項。 Android會記住併爲您恢復。如果你想訪問這些,只需撥打context.getSharedPreferences()並從sharedPreferences對象收到呼叫getBoolean (key,defValue)

+0

我想知道應用何時從內存中恢復,如果用戶儘早將其最小化。 – mindfreezer

+0

哦好吧...然後你可以嘗試重新開始活動的活動 – harshit

1

我所做的是,在我的第一個活動中做了一個布爾值,並將其存儲在共享首選項中,然後在啓動該過濾器時將其設置爲true。所以它仍然是真實的,因爲應用程序仍然在內存中,甚至恢復。當應用程序退出時,啓動時再次啓動它再次變爲假

相關問題