2016-08-13 62 views

回答

1

爲每個Fragment指定一個ID並將ID列表保存爲SharedPreferences。當您重新啓動應用程序時,請按照您保存到SharedPreferences的ID的順序充氣/顯示Fragment

如何編寫/從SharedPreferencesArrayList到/:https://stackoverflow.com/a/22985657/5250273

0

你應該只存儲數組列表之前您的應用程序是由Android殺害。當你的應用程序啓動時,你的應用程序應該加載數據。

讓我來解釋一下。 在實施之前,我認爲你應該檢查fragment's lifecycle

onSaveInstaceState()方法之前的onPause()(片段殺死之前)調用。所以你應該用這種方法保存你的數據。

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    // Storing my arraylist on bundle 
    outState.putStringArrayList("savedList", list); 
} 

要加載數據,居然有是的onCreate()後呼籲活動(創建一個新的活動之前)一個OnRestoreInstanceState()方法。但是,片段沒有OnRestoreInstanceState()生命週期方法。所以你可以使用onCreate(),onCreateView()或onActivityCreated()方法來加載你的日期。

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      if(savedInstanceState != null){ 
      // Loading my arraylist 
      list=savedInstanceState.getStringArrayList("savedList"); 
      } 

關於storing data on android有很多選項。在共享偏好簡單數據類型的

  • 保存鍵 - 值對 文件
  • 保存在Android的文件系統中任意文件
  • 使用的SQLite
  • 管理的數據庫

你應該只補你的思想選擇你的方式來保存你的日期。

我希望它能幫助你。