2

在配置更改中保存数据activity的正确方法是什么?fragment我有activity并且NavigationDrawer我想在 ListView 中保存项目的当前选定位置,但也从fragment. 我试图将对象保存在onSaveInstanceState活动中,但在这种情况下,我无法将数据保存在片段中(onSaveInstanceState在片段类中使用)。activity保存数据及其fragment配置更改的正确方法是什么?

4

2 回答 2

1

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

B. Activity
一旦你在你的片段中移动了大量的数据,那么理论上你不应该太担心活动的娱乐。如果您为视图正确设置了唯一 ID,Android 应该会保留其先前输入的数据。如果您有一些模型数据,则放入savedInstance捆绑包中。再次:覆盖onSaveInstanceState并从onCreateBundle 参数中获取数据。

于 2013-11-04T13:11:48.533 回答
0

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

于 2013-11-04T13:08:53.030 回答