onCreate(), onCreateView()和onActivityCreated()在片段中的区别是什么,它们各自用于什么?
当前回答
onActivityCreated() -已弃用
onActivityCreated()现在作为Fragments版本1.3.0-alpha02已弃用
onActivityCreated()方法现在已弃用。代码涉及 fragment的视图应该在onViewCreated()中完成 在onActivityCreated())和其他初始化代码之前 应该在onCreate()中。来接收一个回调 activity的onCreate()是完整的,LifeCycleObserver应该是 在onAttach()活动的生命周期上注册,并删除一次 onCreate()回调被接收。
详细信息可以在这里找到
其他回答
onActivityCreated() -已弃用
onActivityCreated()现在作为Fragments版本1.3.0-alpha02已弃用
onActivityCreated()方法现在已弃用。代码涉及 fragment的视图应该在onViewCreated()中完成 在onActivityCreated())和其他初始化代码之前 应该在onCreate()中。来接收一个回调 activity的onCreate()是完整的,LifeCycleObserver应该是 在onAttach()活动的生命周期上注册,并删除一次 onCreate()回调被接收。
详细信息可以在这里找到
如果你想要一个简洁明了的答案:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
And,
更新:
onActivityCreated()已从API级别28中弃用。
onCreate ():
Fragment中的onCreate()方法在Activity的onAttachFragment()之后调用,但在Fragment的onCreateView()之前调用。 在这个方法中,你可以给变量赋值,获得额外的Intent,以及任何不涉及View层次结构的东西(即非图形化初始化)。这是因为这个方法可以在Activity的onCreate()未完成时被调用,因此在这里尝试访问View层次结构可能会导致崩溃。
onCreateView ():
onCreate()被调用后(在Fragment中),Fragment的onCreateView()被调用。你可以给你的视图变量赋值,并进行任何图形化初始化。你被期望从这个方法返回一个视图,这是主UI视图,但如果你的Fragment不使用任何布局或图形,你可以返回null(如果你不覆盖,默认发生)。
onActivityCreated ():
顾名思义,这是在活动的onCreate()完成后调用。它在onCreateView()之后调用,主要用于最终初始化(例如,修改UI元素)。这在API级别28中已弃用。
总之,…… ... 它们都在Fragment中被调用,但是在不同的时间被调用。 首先调用onCreate(),用于进行任何非图形化初始化。接下来,你可以在onCreateView()中指定和声明你想要使用的任何View变量。之后,使用onActivityCreated()来做任何你想做的最后初始化,一旦一切都完成了。
如果你想查看官方的Android文档,可以在这里找到:
onCreate () onCreateView () onActivityCreated () _
Stack Overflow上还有一些稍微不同,但不太完善的问题/答案:
onCreate() vs onCreateView() onCreateView() vs onActivityCreated()
推荐文章
- BottomSheetDialogFragment的圆角
- 在应用程序启动时出现“无法获得BatchedBridge,请确保您的bundle被正确打包”的错误
- 我如何改变默认对话框按钮的文本颜色在安卓5
- 更改单选按钮的圆圈颜色
- 如何在android中复制一个文件?
- adb找不到我的设备/手机(MacOS X)
- 如何在新的材质主题中改变背面箭头的颜色?
- androidviewpager与底部点
- 相同的导航抽屉在不同的活动
- 如何从视图中获得托管活动?
- 单一的TextView与多种颜色的文本
- 如何在非活动类(LocationManager)中使用getSystemService ?
- 在清单中注册应用程序类?
- Android:从数组中编程创建旋转器
- Android命令行工具sdkmanager总是显示:警告:无法创建设置