【问题标题】:how to reload a fragment oncreatview on activity finish如何在活动完成时重新加载片段oncreatview
【发布时间】:2015-07-17 11:43:57
【问题描述】:

我有一个片段并且有一个项目列表。我有一个异步任务 片段 oncreateview 加载项目。单击项目后,我将启动一项活动。在活动中执行某些操作后,活动将关闭,我需要通过异步调用重新加载片段列表项。如何在片段中的活动关闭时重新加载列表?

【问题讨论】:

    标签: android android-layout android-fragments android-activity


    【解决方案1】:

    items Activity 将自动进入 Back-stack,当上面的 Activity 完成时,之前的 ITEMS Activity 将自动进入图片。

    【讨论】:

      【解决方案2】:

      您实际上不需要重新加载列表。

      覆盖onSaveInstanceStateFragment 并在此时保存列表。然后在onCreate 中获取列表的内容(您保存在捆绑包中的内容)并将其提供给您的适配器。任务完成。

      现在您可能想知道如何保存您的物品。您可以直接将它们保存到Bundle。或者在SQLite 数据库中。

      【讨论】:

        【解决方案3】:

        最简单的方法是使用startActivityForResult(Intent intent, int requestCode, Bundle options) 启动您的活动。然后覆盖 onActivityResult(int requestCode, int resultCode, Intent data) 方法来刷新您的数据。此方法将在活动启动后以startActivityForResult(Intent intent, int requestCode, Bundle options) 终止调用。

        【讨论】:

          【解决方案4】:

          您可以在片段中使用onResume() 方法。只需从 OnResume 方法调用您的异步任务。

          【讨论】:

            【解决方案5】:

            对于LoadersCursors 来说似乎是一项不错的工作,它会为您完成所有这些工作。您可以考虑在 Fragment 或 Activity 中实现 LoaderManager.LoaderCallbacks

            继续阅读AsyncTasks vs Loaders。希望对你有帮助

            【讨论】:

              猜你喜欢
              • 2018-01-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-09-02
              • 1970-01-01
              • 2020-05-11
              相关资源
              最近更新 更多