我知道片段的视图层次结构必须在 onCreateView 中膨胀,但是 onCreateView 中可以有哪些其他功能与应该等待 onActivityCreated 什么?我当前的实现对所有内容都使用单独的活动,典型的活动在其 onCreate 方法中完成大部分工作,包括膨胀视图、设置内容视图、使用数据初始化各种小部件、设置侦听器等。
那么这可能全部移到 onCreateView 中,还是应该将某些函数放入 onActivityCreated 方法中呢?
我知道片段的视图层次结构必须在 onCreateView 中膨胀,但是 onCreateView 中可以有哪些其他功能与应该等待 onActivityCreated 什么?我当前的实现对所有内容都使用单独的活动,典型的活动在其 onCreate 方法中完成大部分工作,包括膨胀视图、设置内容视图、使用数据初始化各种小部件、设置侦听器等。
那么这可能全部移到 onCreateView 中,还是应该将某些函数放入 onActivityCreated 方法中呢?
如果您的视图是静态的,则无需将任何代码移动到 onActivityCreated 方法。但是,例如,当您从适配器中填充一些列表时,您应该在 onActivityCreated 方法中执行此操作,并在 setRetainInstance 曾经这样做时恢复视图状态。
此外,访问父活动的视图层次结构必须在 onActivityCreated 中完成,而不是更早。
onActivityCreated()
在片段 1.3.0-alpha02 中已弃用,建议改用onViewCreated()
。此处已经创建了视图,您可以设置监听器、从 ViewModel 观察 LiveData、初始化 recyclerView 等。
为了更好地理解,您可以查看我的博客文章,其中我描述了137 秒内的Android Fragment 生命周期。