【发布时间】:2015-07-17 11:43:57
【问题描述】:
我有一个片段并且有一个项目列表。我有一个异步任务 片段 oncreateview 加载项目。单击项目后,我将启动一项活动。在活动中执行某些操作后,活动将关闭,我需要通过异步调用重新加载片段列表项。如何在片段中的活动关闭时重新加载列表?
【问题讨论】:
标签: android android-layout android-fragments android-activity
我有一个片段并且有一个项目列表。我有一个异步任务 片段 oncreateview 加载项目。单击项目后,我将启动一项活动。在活动中执行某些操作后,活动将关闭,我需要通过异步调用重新加载片段列表项。如何在片段中的活动关闭时重新加载列表?
【问题讨论】:
标签: android android-layout android-fragments android-activity
items Activity 将自动进入 Back-stack,当上面的 Activity 完成时,之前的 ITEMS Activity 将自动进入图片。
【讨论】:
您实际上不需要重新加载列表。
覆盖onSaveInstanceState 的Fragment 并在此时保存列表。然后在onCreate 中获取列表的内容(您保存在捆绑包中的内容)并将其提供给您的适配器。任务完成。
【讨论】:
最简单的方法是使用startActivityForResult(Intent intent, int requestCode, Bundle options) 启动您的活动。然后覆盖 onActivityResult(int requestCode, int resultCode, Intent data) 方法来刷新您的数据。此方法将在活动启动后以startActivityForResult(Intent intent, int requestCode, Bundle options) 终止调用。
【讨论】:
您可以在片段中使用onResume() 方法。只需从 OnResume 方法调用您的异步任务。
【讨论】:
对于Loaders 和Cursors 来说似乎是一项不错的工作,它会为您完成所有这些工作。您可以考虑在 Fragment 或 Activity 中实现 LoaderManager.LoaderCallbacks。
继续阅读AsyncTasks vs Loaders。希望对你有帮助
【讨论】: