根据this link,活动受框架包android.app和子类中的封装保护,那么为什么片段生命周期方法具有公共访问修饰符?
答案 0 :(得分:1)
简单地说,那是因为您的活动(内部不是您)调用onCreateView()
之类的函数
或者在更抽象和推理的解释中,因为活动可以包含片段和片段活动通信。
需要使用公共方法来访问findFragmentById()
,
活动可以作为独立实体存在。存在上下文,这是在android中执行US相关操作的主要要求。片段没有自己的上下文(getActivity()
方法在片段中提供上下文)
虽然Fragment的生命周期与其拥有的活动相关联,但它在标准活动生命周期中有其自身的皱纹。它包括基本的活动生命周期方法,如onResume(),但同样重要的是与活动和UI生成的交互相关的方法。
编辑:按照您链接的答案的类似方法,片段(为了向后兼容)也显示为android.support.v4.app.Fragment
。但是Activity类只在android.app.So中以确保向后兼容性,在这种情况下公共方法存在