2012-02-17 53 views
0

我在自定義視圖中遇到問題。關閉屏幕並重新打開後,其狀態不會保存。Android:onRestoreInstanceState在屏幕喚醒(並鎖定)後未調用

onSaveInstanceState當我關閉屏幕時調用正確,但是當我打開屏幕時,onRestoreInstanceState不會被調用。我知道這是因爲活動沒有重新創建,但我不知道還有什麼可用來恢復視圖的狀態。

我想我需要在onStart()或onResume()上做些什麼,但我不想在活動中做這件事,但在視圖中,因爲視圖被用於多個活動,它會非常不方便。

我已經嘗試了幾個其他方法,如onWindowsVisibilityChanged,但沒有運氣。

我還可以使用其他方法嗎?

謝謝。

編輯:詳細信息:我想保留的只是一個布爾值,讓我知道如果按鈕被打開或關閉,所以我可以改變它的外觀。我知道它應該在沒有我的干預的情況下保持它的外觀,但實施是一個小錯誤。

回答

1

經過一番嘗試,我設法得到了我需要的活動onWindowFocusChanged(Boolean hasWindowFocus)。就我而言,它給了我與onResume()相同的機會,因爲它被稱爲就在窗口變得可見並被帶到前面。