2014-10-22 81 views
0

我正在使用一個活動的四個片段在底部
四個按鈕用來片段之間切換
我動作條的搜索按鈕
但是當我點擊搜索按鈕,鍵盤上會出現,然後之後的片段開始加載再次..
因此,如何節省配置變化.. 片段的狀態,我也嘗試過這種如何在android中保存片段的狀態?

android:configChanges="orientation|screenSize|keyboardHidden|keyboard" 

回答

0

使用public void setRetainInstance (true)片段

@Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setRetainInstance(true); 
     ... 
     ... 
    } 

這將只保留在有定向變化,而不是後退堆棧。

+0

在哪寫這行onCreate()或onCreateView()? – Yogi 2014-10-22 06:31:59

+0

檢查更新後的答案。 – VenomVendor 2014-10-22 06:35:13

+0

對我而言不適用 – Yogi 2014-10-22 06:39:53

0

您可以使用setRetainInstance(true)。無論你在哪裏寫 - 在onActivityCreated或OnCreateView。但在這種情況下,您以後可能會遇到內存或舊Activity上的鏈接問題。 對於我來說,我認爲最好將數據保存在onSaveInstanceState中並獲取它們,例如,在onRestoreInstanceState中。