這是我的設置。當應用程序繼續時在列表數據上保存狀態
我有一個主SherlockFragmentActivity
。它用FragmentTransaction
來回交換了很多ListFragments
。爲了指示載荷,隨時隨地一ListFragment
加載我調用數據:
setSupportProgressBarIndeterminateVisibility(true);
的問題:當上面提到第一啓動,或在用戶離開主Activity
,去到其他的應用程序,然後重新啓動
這一個時間延長的時間之後,SherlockFragmentActivity
看似重新加載,則在ActionBar
沒有進展對話,屏幕是白色幾秒鐘,然後將列表數據維修(長度取決於所述數據連接上)。
下面是一些補充代碼:當主/基Activity
首次加載,這是第一件事情我在onCreate()
操作之一:
// Set up Main Screen
FragmentTransaction t2 = this.getSupportFragmentManager().beginTransaction();
SherlockListFragment mainFrag = new FollowingFragment();
t2.replace(R.id.main_frag, mainFrag);
t2.commit();
FollowingFragment
是一個將永遠在這種情況下加載。它包含一個ListView
和一個AsyncTask
從MySQL
數據庫中提取數據。
我的問題:如何防止這種延遲?當用戶長時間離開時,如何處理數據維護?
是的,這是一個UI'片段'。所以我想我需要使用'onSaveInstanceState()'方法。你將如何使用它並保存列表數據?該清單由一份「清單
我通常將我的數據存儲在一個經理(單身人士),我可以從任何地方獲得它。這樣我就不需要保存UI實例狀態。否則,您可以輕鬆地存儲您的List,因爲它實現了可序列化,只需確保您的對象類,然後在要保存的包中使用putSerializable方法即可。 – Gomino