在配置更改中保存数据activity
的正确方法是什么?fragment
我有activity
并且NavigationDrawer
我想在 ListView 中保存项目的当前选定位置,但也从fragment
. 我试图将对象保存在onSaveInstanceState
活动中,但在这种情况下,我无法将数据保存在片段中(onSaveInstanceState
在片段类中使用)。activity
保存数据及其fragment
配置更改的正确方法是什么?
问问题
881 次
2 回答
1
A. Fragment 也许处理方向变化的
最好方法是调用setRetainInstance(true)
. onCreate
通过这种方式,片段被分离,但它的实例在方向改变时不会被破坏。当重新创建活动时,将附加相同的片段实例。但是,您需要非常小心,不要保留以前活动中的某些内容并导致内存泄漏。
保留数据的另一个选项是覆盖onSaveInstanceState
.
B. Activity
一旦你在你的片段中移动了大量的数据,那么理论上你不应该太担心活动的娱乐。如果您为视图正确设置了唯一 ID,Android 应该会保留其先前输入的数据。如果您有一些模型数据,则放入savedInstance
捆绑包中。再次:覆盖onSaveInstanceState
并从onCreate
Bundle 参数中获取数据。
于 2013-11-04T13:11:48.533 回答
0
尝试将其保存在 SharedPreferences http://developer.android.com/guide/topics/data/data-storage.html
于 2013-11-04T13:08:53.030 回答