2

我的应用程序有一个活动,它为每个选项卡的内容使用 TabLayout 和 1 个片段。这些片段中的一些片段内具有子选项卡和相应的子片段。

这些片段中的每一个都依赖于 API 调用来呈现它们的视图。我希望这些片段只进行一次这些 API 调用并呈现它们的视图。如果用户切换到另一个选项卡并返回,这些片段应该只显示他们第一次呈现的视图(有一些特殊情况会触发新的 API 调用,但这些情况很少见,可以在 onResume 中处理,我认为)。

为了实现这一点,进行第一次 API 调用的最佳位置是什么?创建视图?或 onStart 或 onResume 或其他一些生命周期方法?

4

1 回答 1

1

onCreateView(),因为如果您要更改任何 UI 元素,这将是 Layout 第一次膨胀,在 android 文档中,他们建议在此处进行所有设置,因为 onStart 在用户看到活动之前被调用。

http://developer.android.com/guide/components/activities.html

我还建议在每次调用 onResume 时使用 api 调用刷新视图,以确保用户看到最新的信息,因为现在使用更多当前的 android 版本,活动可能会挂起很长时间。此外,如果调用了 restart(),oncreateview 将不会调用,因此这是我建议使用 onResume() 刷新的另一个原因。

于 2016-02-22T04:58:26.300 回答