小编典典

Fragment中onCreate()、onCreateView()和onActivityCreated()的区别和使用

all

、 和in 片段之间有什么区别onCreate(),它们各自的用途是什么?onCreateView()``onActivityCreated()


阅读 92

收藏
2022-03-29

共1个答案

小编典典

更新:

onActivityCreated()已从
API 级别 28 中弃用。


创建():

a中的onCreate()方法在 ‘s* 之后但在 that ‘s之前 调用 。 在这种方法中,您可以分配变量、获取附加值以及
不涉及视图层次结构的任何其他内容 (即非图形初始化)。这是因为在’s没有完成的时候可以调用这个方法,所以在这里尝试访问 View
层次结构可能会导致崩溃。Fragment
Activity``onAttachFragment()Fragment``onCreateView()
Intent
*Activity``onCreate()

onCreateView():

onCreate()调用了(在Fragment)之后,调用了Fragment‘s
onCreateView()。您可以分配View变量并 进行任何图形初始化View您应该从此方法返回 a ,这是主 UI
视图,但如果您Fragment不使用任何布局或图形,则可以返回null(如果您不覆盖,则默认情况下发生)。

onActivityCreated():

顾名思义,这是在 ‘s 完成 后调用的Activity``onCreate()。它被称为 after
onCreateView(),主要用于最终初始化(例如,修改 UI 元素)。这已从 API 级别 28中 弃用。


总而言之…
…它们都被调用Fragment但在不同的时间被调用。
首先onCreate()调用 ,用于进行任何非图形初始化。接下来,您可以分配和声明View要在onCreateView().
之后,onActivityCreated()在一切都完成后,使用它来执行您想要执行的任何最终初始化。


2022-03-29