我的应用程序只有一个 Activity ,它为每个选项卡的内容使用一个 TabLayout 和 1 个 fragment 。其中一些 fragment 具有子选项卡和相应的子 fragment 。
这些 fragment 中的每一个都依赖 API 调用来呈现它们的 View 。我希望这些 fragment 只进行一次 API 调用并呈现它们的 View 。如果用户切换到另一个选项卡并返回,这些 fragment 应该只显示他们已经第一次呈现的 View (有一些特殊情况会触发新的 API 调用,但这些情况很少见,我认为可以在 onResume 中处理).
要实现这一目标,进行首次 API 调用的最佳位置是什么? onCreateView ?或 onStart 或 onResume 或其他一些生命周期方法?
最佳答案
onCreateView(),因为如果您正在更改任何 UI 元素,这将是布局第一次膨胀,在 android 文档中,他们建议在此处进行所有设置,因为 onStart 会在用户看到 Activity 之前调用.
http://developer.android.com/guide/components/activities.html
我还建议每次调用 onResume 时使用 api 调用刷新 View ,只是为了确保用户看到的是最新信息,因为现在使用更多最新的 android 版本, Activity 可能会挂起很长时间.此外,如果调用 restart(),oncreateview 将不会调用,因此这是我建议使用 onResume() 刷新的另一个原因。
关于android - API 驱动的应用程序 - 嵌套 fragment - 在哪里进行 API 调用? onStart 与 onResume 上的 onCreateView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545921/