【问题标题】:android using fragment withandroid使用片段
【发布时间】:2014-01-29 16:43:57
【问题描述】:

在我的 android 应用程序中,我使用滑动菜单,这就是为什么我的所有内容都在片段中,我正在更改这些片段并将它们显示在 FrameLayout 的一个活动中。 问题是我有从互联网、列表视图和其他加载的数据片段,如果我运行我的应用程序列表视图将被数据填充,那么如果我转到另一个片段然后按下手机上的返回按钮,我们将使用该列表视图返回片段,但它会再次下载数据,初始化适配器并将其添加到列表视图。

如何保存所有这些数据,并在我从另一个片段转到该片段时再次显示?

【问题讨论】:

    标签: android fragment savestate


    【解决方案1】:

    您在哪里读取 Fragments 中的数据?从活动中分离片段不应杀死整个片段,而只会杀死 UI 部分 - 请参阅片段生命周期,发生的调用发生在 onCreateView 和 onDestroyView 之间。如果您仅在 onCreate 和 onCreateView 中读取数据只是为了扩展布局并填充它,那么一切都应该没问题。

    【讨论】:

    • 在 onActivityCreated() 中我正在初始化我的列表视图并执行我的扩展 AsynkTask 的内部类,它下载所有数据并在 onPostExecute() 方法中将适配器添加到列表视图
    • 这就是问题所在。您应该在 onCreate 中创建并启动任务,因为与 onActivityCreated() 不同,它不会被多次调用。 onCreateView 将初始化列表视图并填充它。
    【解决方案2】:

    将您的数据缓存在数据库中并仅在您的缓存为空或过时时下载(即,保留下载时间戳并在需要 X 小时/天后重新下载)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2014-07-28
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多