片段中onCreate(),onCreateView()和onActivityCreated()的区别和用法

片段中onCreate()onCreateView()onActivityCreated()之间有什么区别,它们各自用于什么?

的onCreate():

FragmentonCreate()方法在ActivityonAttachFragment()但在FragmentonCreateView()之前调用
在这种方法中,您可以分配variables,获取Intent extras以及其他不涉及View层次结构的内容 (即非graphics化初始化)。 这是因为这个方法可以在ActivityonCreate()没有完成的时候被调用,所以试图在这里访问View层次结构可能会导致崩溃。

onCreateView():

在调用onCreate()之后(在Fragment ),调用FragmentonCreateView() 。 你可以分配你的Viewvariables,并做任何graphics化初始化 。 你需要从这个方法返回一个View ,这是主UI视图,但是如果你的Fragment没有使用任何布局或者graphics,你可以返回null (如果你没有覆盖,默认情况下会发生)。

onActivityCreated():

正如名字所述,这是ActivityonCreate()完成之后调用的 。 它在onCreateView()之后被调用,主要用于最终的初始化(例如修改UI元素)。


总结一下…
……他们都是在Fragment被调用,但在不同的时间被调用。
onCreate()首先被调用,用于执行任何非graphics化的初始化。 接下来,你可以分配和声明你想在onCreateView()使用的任何Viewvariables。 之后,使用onActivityCreated()完成所有事情的最终初始化。


如果你想查看官方的Android文档,可以在这里find:
onCreate()
onCreateView()
onActivityCreated()

这里也有一些稍微不同的,但不太成熟的问题/答案堆栈溢出:

  • onCreate() vs onCreateView()
  • onCreateView() vs onActivityCreated()

对于任何想要简洁的画报回答的人:

在这里输入图像描述 https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/


和,

在这里输入图像描述