【问题标题】:Android: Preserve complex view data of FragmentsAndroid:保留Fragments的复杂视图数据
【发布时间】:2011-09-07 09:56:45
【问题描述】:

在我的应用程序中,我有一个使用 FragmentViewPager 的 FragmentActivity。 Fragments 具有非常复杂的视图结构,其中包含 ListViews 和 Adapters。 FragmentViewPager 似乎会破坏看不见的片段,并在用户滑回它时重新创建它们。这会导致所有包含所有内容的列表和适配器的成员变量都被清除,因此如果 Fragment 回到顶部,则它是空的。

我现在的问题是:如何保存这些数据?如果我没记错的话,我必须使用适配器处理的内容保存并恢复列表。我应该在何时何地保存它?

将数据保存在 FragmentActivity 或 Activity 外部的辅助单例类中是个好主意吗?

【问题讨论】:

    标签: android listview fragment preserve android-viewpager


    【解决方案1】:

    如何保存这些数据?

    您的数据已“保留”。您最初是从某个数据模型的某个地方加载它的。重新加载。

    如果用户在屏幕上对数据进行更改,您需要在用户进行更改时将其持久化到您的数据模型中。这与处理RatingBar 行中的ListView 没有什么不同。

    【讨论】:

    • 是的,用户引入了更改。他的输入显示在 ListView 中,当然,在 Fragment 被销毁后它是空的。如果将内容保存到 Fragmen/Activity 之外的底层数据模型是唯一的选择,那很好。但我希望片段有类似于onRetainNonConfigurationInstance() 和getLastNonConfigurationInstance() 的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2010-11-16
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多