【问题标题】:Recommended method to retrieve data to display (from an API) in an Android Fragment检索数据以在 Android 片段中显示(来自 API)的推荐方法
【发布时间】:2016-11-16 16:45:52
【问题描述】:

如果我需要在 Fragment 中显示来自 API 的数据(使用 AsyncTask),假设是 RecyclerView 中的项目列表,我认为它不应该在 onCreate() 或 onCreateView() 中完成,因为理论上视图元素正在初始化,如果 API 调用速度更快,则可能无法使用。我说的对吗?
(我认为在比 Android 创建视图所需的时间更短的时间内从 API 获得响应是不可能的)。

有 onActivityCreated() 和 onStart() 但我仍然对父 Activity 何时调用它们感到困惑。
我要避免的事情是在没有必要的情况下重新加载数据(调用 API),例如由于方向更改或在可能的“下一个”活动中单击后退按钮后返回到此活动。

谢谢。

【问题讨论】:

    标签: android android-fragments android-asynctask


    【解决方案1】:

    如果这是您的第一个“窗口”(活动或其他),我知道的唯一方法是显示加载文本、图像等。

    如果这不是您的第一个视图,您可以在另一个窗口中加载您的数据,并在用户到达视图以显示信息时将其存储以供日后使用。

    您可以直接在onCreateonStart 左右加载它,但正如您所说,您可能没有时间下载信息,所以再次显示loading 页面或任何您想要的页面你的数据来了。

    为避免初始化错误,请在初始化元素后致电您的AsyncTask。并且为了避免在应用打开时多次调用 API 将您的数据保存在本地,这取决于您的应用要求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多