0

我確定`save-restore'已經討論了很多,但我還是無法理解它。我有以下情形如何恢復活動及其ListFragment(使用從服務器加載的數據)

Launch app -->MainActivity-->onCreate() -->Loads MyListFragment

MyListFragment從服務器獲取數據,並在onListItemClick我推出另一項活動。當用戶返回(通過在ActionBar中單擊Up)到MainActivity時,所有內容都會重新創建,包括MyListFragment。此外它再次連接到服務器以再次獲取數據。

我想避免從服務器重新加載數據,並看到用戶使用同一屏幕上的碎片和數據。

感謝任何幫助。

感謝

回答

0

您需要單獨從UI服務調用。沒有辦法保留活動中任意數量的項目被銷燬和重新創建。

使用服務從服務器加載數據。該服務應該填充本地SQLite數據庫。

然後讓你的列表視圖填充SQLite數據庫中的數據。

+0

謝謝Greg!它看起來很泰迪。我在App中有很多片段,他們都從服務器加載數據。沒有更簡單的方法嗎? – iuq

+0

另外,我檢查了何時從MainActivity中的MyListFragment啓動另一個活動,MainActivity的停止(onStop()) - 未銷燬。 MyListFragment也是如此。應該有一些方法來保存適配器中的數據? – iuq

+0

如果你的活動只停止/開始我很驚訝列表視圖重新查詢所有數據,但很可能是這種情況。即使如此,請注意,在某些時候,操作系統會在後臺摧毀您的活動。它會發生在你的用戶身上。既然你必須處理這種情況,你應該只是編寫整個解決方案。 –

相關問題