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