2015-05-15 104 views
1

我在this topic之後創建了一個viewpager視圖。我正在使用實例只有一個片段。在viewpager中保存片段的內容

所以,我需要從每個片段保存一個文本(從editText)來重新打開應用程序後加載它們,但我不知道如何。我想我只是誤解了如何正確使用實例..

我真的很困惑,不知道該怎麼做。也許只是一些考慮如何正確使用這個或更好的ViewPager應該幫助。

-thx任何幫助(:

+0

據我所知,你在VIewPager中有幾個片段,每個片段都有EditText字段?目標是保存EditText字段並在應用程序重新加載後還原它?是的? –

+0

是的,這些片段具有相同的佈局,但EditText字段中的內容不同,我想在重新加載後恢復它們。 –

回答

0

我有想法喲如何實現你的看法尋呼機您的要求)首先,我們走了一下它是如何工作:

  1. ViewPages負載片段#1和同一時間他加載片段#2
  2. 當你滑動片段#2加載片段#3和牢記#1
  3. 我們滑到#3,片段#4加載,#2英寸的頭腦,#1 - 摧毀 去上。 所以我們需要保存信息時片段摧​​毀它自我和加載時,它會出現。

這意味着你需要建立你的片段,在未來的方式:

  1. 創建方法getNewInstance(args...)像你下面的話題。
  2. @OverrideOnCreate(..)方法來處理你的Bundle對象。打開它。
  3. @OverrideOnCreateView(...)注入所有視圖的方法。例如,包括您的「EditText」
  4. Override onStop(...)。這意味着你的片段將不能看到傳呼機的可見邊界。在此方法中,將您的EditText.getText()保存爲SharedPreferences,並將其作爲密鑰 - 您的參數 from bundle.toString()。
  5. 再次查看onCreateView方法。通過相同的鍵獲取保存的文本,並放入您的編輯文本視圖。

那麼它是如何工作的? - 您的viewPager將片段上傳到editTextView(sharedPreferences)。用戶可以進行一些更改並滑出。當這個片斷破壞所有的信息時,通過同一個密鑰將同一個單元重寫入內存(SharedPreferences)。祝你好運

+0

它的工作原理,非常感謝。我認爲我之前很接近,但我試圖在onCreateView中獲取參數,這就是爲什麼它不起作用。 –

+0

我認爲onPause會是一個更好的保存數據的地方嗎?你的想法? – Skynet

+0

也許),但如果打開一些對話框窗口,你會打開暫停呼叫? –