2012-07-31 122 views
0

我有一個活動,其中包含2個片段。我想保存活動的某些狀態以及片段,以便在活動或片段被破壞時恢復。onSaveInstanceState()在活動和片段?

因此,我在片段和活動中都使用onSaveInstanceState,並將傳遞給onCreate或onCreateView的包的數據。

這很有效,除此之外,當活動被破壞。然後在恢復它自己的數據,但是,因爲在onCreate()我再次實例化適配器和碎片,他們沒有任何國家。

我該如何解決這個問題?

在此先感謝。

回答

1

最有可能這樣做的原因,是該Fragment小號onResume()根據Fragment生命週期文檔的的ActivityonCreateView()運行「:

http://developer.android.com/guide/components/fragments.html#Creating

+0

嗯,是的,這就是我已經注意到調試它(這是有道理的,因爲恢復實例狀態不會等待我的web服務...)。但是解決這個問題的策略是什麼? – Ixx 2012-07-31 09:35:00

+0

你應該初始化沒有數據的片段,或者用虛擬數據填充它們,並且在你的webservice調用完成後,在你的'Activity'的'onResume()'加載數據。也許在處理完所有內容後顯示一個'ProgressDialog'。 – 2012-07-31 09:40:59

+0

關於用戶在片段中給出了一些輸入後的問題,如果活動被破壞,我想恢復該數據 – Ixx 2012-07-31 10:04:19