gpt4 book ai didi

android - 在 Activity 和 fragment 中保存数据的正确方法

转载 作者:行者123 更新时间:2023-11-29 01:48:41 25 4
gpt4 key购买 nike

在配置更改时将数据保存在 activityfragment 中的正确方法是什么?我有 activityNavigationDrawer,我想在 ListView 中保存项目的当前选定位置,但也保存来自 fragment 的数据。我试图将对象保存在 Activity 的 onSaveInstanceState 中,但在这种情况下,我无法将数据保存在 fragment 中(在 fragment 类中使用 onSaveInstanceState )。在配置更改时将数据保存在 activity 及其 fragment 中的正确方法是什么?

最佳答案

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

B. Activity
一旦您移动了 fragment 中的大量数据,那么理论上您不应该太担心 Activity 娱乐。如果您已经为 View 正确设置了唯一 ID,Android 应该会保留它们之前输入的数据。如果您有一些模型数据,请放入 savedInstance 包中。再次:覆盖 onSaveInstanceState 并从 onCreate Bundle 参数中获取数据。

关于android - 在 Activity 和 fragment 中保存数据的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19768247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com