2014-10-22 80 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中。