我知道片段的视图层次结构必须在onCreateView中膨胀,但onCreateView还有什么其他功能可以等待onActivityCreated?我当前的实现对所有内容使用单独的活动,并且典型的活动在其onCreate方法中完成大部分工作,包括膨胀视图,设置内容视图,使用数据初始化各种小部件,设置监听器等。
那么这可能会全部转移到onCreateView上,还是应该将某些函数放入onActivityCreated方法中呢?
答案 0 :(得分:75)
如果您的视图是静态的,则无需将任何代码移动到onActivityCreated方法。但是当您(例如,从适配器填充一些列表)时,您应该在onActivityCreated方法中执行此操作,以及在setRetainInstance用于执行此操作时还原视图状态。
访问父活动的视图层次结构也必须在onActivityCreated中完成,而不是更快。
答案 1 :(得分:0)
onActivityCreated()
是deprecated in fragment 1.3.0-alpha02,建议使用onViewCreated()
代替。视图已在此处创建,您可以设置侦听器,从ViewModel观察LiveData,初始化recyclerView等。
为了更好地理解,您可以看一下我的博客文章,我在137秒内描述了Android Fragment lifecycle。