如何在android中保存片段的状态?

时间:2014-10-22 06:23:46

标签: android android-fragments

我在一个活动中使用四个片段
底部的四个按钮用于在片段之间切换 我有动作栏的搜索按钮
但是,当我点击搜索按钮时,键盘出现,然后片段再次开始加载..
那么如何在配置改变时保存片段状态.. 我也试过这个

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

2 个答案:

答案 0 :(得分:0)

片段中使用public void setRetainInstance (true)

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

只有在方向发生变化时才会保留,而不是在后面堆叠上。

答案 1 :(得分:0)

您可以使用setRetainInstance(true)。无论你在哪里写 - 在onActivityCreated或OnCreateView。但在这种情况下,您将来可能会遇到内存问题或旧活动上的链接问题。 至于我,我认为最好将你的数据保存在onSaveInstanceState中并获取它们,例如,在onRestoreInstanceState中。