0

我有兩個片段。按BACK按鈕後顯示什麼輸入

FirstFragment示出了輸入表格

Class FirstFragment extends Fragment { 
    ... 
} 

提交在上述FirstFragment形式的用戶後,將SecondFragment被示出。

Class SecondFragment extends Fragment{ 
... 
} 

現在,當用戶按下物理BACK按鈕時,FirstFragment形式被再次示出。

此時,我想也顯示用戶之前輸入的內容,並填寫表單中的輸入,以便用戶不需要再次輸入所有內容。

如何在我的兩個片段中實現此功能?

+0

如何在SharedPreferences中保存輸入? – pixelscreen 2012-07-26 07:31:16

+0

我正在尋找一種不需要使用SharedPreferences的方法。 – 2012-07-26 07:32:50

回答

0

如果您從後端堆棧返回一個片段,它不會重新創建片段,但會重新使用相同的實例並在片段生命週期中以onCreateView()開頭,請參閱片段生命週期。

所以,如果你想存儲狀態,你應該使用實例變量,而不是依靠onSaveInstanceState()。

0

重寫onSaveInstanceState(),確保調用super.onSaveInstanceState()來保留片段。還原onCreate(),onCreateView()或onActivityCreated()中的狀態。請參閱Handling the Fragment LifecycleSaving Activity State

+0

當我切換到第二個片段時,我的onSaveInstanceState()未被調用。 – 2012-07-26 08:53:47