片段中的onCreate()onCreateView()onActivityCreated()有什么区别,它们分别用于什么目的?

最佳答案

更新:
apit 28已弃用 onActivityCreated()

onCreate():onCreate()中的Fragment方法在ActivityonAttachFragment() 之后但在FragmentonCreateView()之前调用
在这种方法中,您可以分配变量,获取Intent附加信息,以及其他不涉及View层次结构的内容(即非图形初始化)。这是因为ActivityonCreate()未完成时可以调用此方法,因此在此处尝试访问View层次结构可能会导致崩溃。
onCreateView():
调用onCreate()(在Fragment中)之后,将调用FragmentonCreateView()。您可以分配View变量,可以进行任何图形初始化。您应该从此方法返回View,这是主UI View ,但是如果Fragment不使用任何布局或图形,则可以返回null(默认情况下,如果不覆盖,则会发生)。
onActivityCreated():
顾名思义,这是,在ActivityonCreate()完成之后调用。它在onCreateView()之后调用,主要用于最终初始化(例如,修改UI元素)。这是API级别28中不推荐使用的

总结起来...
...它们都在Fragment中被调用,但是在不同的时间被调用。
首先调用onCreate(),以执行任何非图形初始化。接下来,您可以分配并声明要在View中使用的任何onCreateView()变量。之后,一旦一切完成,请使用onActivityCreated()进行任何最终的初始化。

如果您想查看官方的Android文档,可以在这里找到:

  • onCreate()
  • onCreateView()
  • onActivityCreated() _

  • 在Stack Overflow上,还有一些稍有不同,但尚不完善的问题/答案:
  • onCreate() vs onCreateView()
  • onCreateView() vs onActivityCreated()
  • 关于android - fragment 中onCreate(),onCreateView()和onActivityCreated()的区别和用途,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28929637/

    10-10 00:46