在活动和片段中保存数据的正确方法

时间:2013-11-04 13:01:01

标签: android screen-rotation

activityfragment中保存配置更改数据的正确方法是什么?我activity NavigationDrawer,我希望在ListView中保存当前所选的商品位置,同时保存fragment的数据。我试图在onSaveInstanceState活动中保存对象,但在这种情况下,我无法将数据保存在片段中(在片段类中使用onSaveInstanceState)。在activity及其fragment中保存配置更改的数据的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

:一种。片段
处理方向更改的最佳方法可能是在onCreate中调用setRetainInstance(true)。通过这种方式,片段被分离,但是它的实例在方向改变时不会被破坏。重新创建活动时,将附加相同的片段实例。但是,您需要非常小心,不要保留以前的活动,并导致内存泄漏 保留数据的另一个选项是覆盖onSaveInstanceState

<强> B中。活性
一旦你在片段中移动了大量数据,那么理论上你不应该过多地关注活动娱乐。如果您为视图正确设置了唯一ID,则Android应保留其先前输入的数据。如果您有一些模型数据,请输入savedInstance包。再次:覆盖onSaveInstanceState并从onCreate Bundle参数中获取数据。

答案 1 :(得分:0)

尝试将其保存在SharedPreferences中 http://developer.android.com/guide/topics/data/data-storage.html