什么是之间的差异onCreate(),onCreateView()以及onActivityCreated()将它们各自用于片段和什么?
什么是之间的差异onCreate(),onCreateView()以及onActivityCreated()将它们各自用于片段和什么?
Answers:
onCreate():
该onCreate()在的方法Fragment是后叫Activity的onAttachFragment(),但在这之前Fragment的onCreateView()。
在这种方法中,您可以分配变量,获取Intent额外内容以及不涉及View层次结构的任何其他内容(即非图形初始化)。这是因为这种方法可以被称为当Activity的onCreate()还没有完成,所以想在这里访问View层次结构可能导致崩溃。
onCreateView():
在之后onCreate()被调用(在Fragment)的Fragment的onCreateView()叫。您可以分配View变量并进行任何图形初始化。您应该View从此方法返回a ,这是主要的UI视图,但是如果您Fragment不使用任何布局或图形,则可以返回null(默认情况下,如果不覆盖,则会发生)。
onActivityCreated():
正如其名国,这是后叫Activity的onCreate()完成。它在after之后被调用onCreateView(),主要用于最终初始化(例如,修改UI元素)。
总结一下……
它们都在中Fragment被调用,但是在不同的时间被调用。
首先onCreate()称为,用于进行任何非图形初始化。接下来,您可以分配和声明View要在中使用的任何变量onCreateView()。然后,使用onActivityCreated()来完成所有想要完成的最终初始化。
如果你想查看官方Android文档,也可以在这里找到:
-
-
-onCreate()onCreateView()onActivityCreated()
Stack Overflow上也有一些稍有不同,但尚不完善的问题/答案:
onCreateView。
对于任何寻求简洁的图示答案的人:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
和,
onActivityCreated()现在不建议使用Fragments Version 1.3.0-alpha02
现在不建议使用onActivityCreated()方法。接触片段视图的代码应在onViewCreated()中完成(在onActivityCreated()之前立即调用),其他初始化代码应在onCreate()中。要专门在活动的onCreate()完成时接收回调,应在onAttach()中的活动生命周期上注册LifeCycleObserver,并在收到onCreate()回调后将其删除。
详细信息可以在这里找到