为什么生命周期方法是公开的,而活动的方法是受保护的?

时间:2015-02-19 18:14:28

标签: android android-fragments

根据this link,活动受框架包android.app和子类中的封装保护,那么为什么片段生命周期方法具有公共访问修饰符?

1 个答案:

答案 0 :(得分:1)

简单地说,那是因为您的活动(内部不是您)调用onCreateView()之类的函数 或者在更抽象和推理的解释中,因为活动可以包含片段和片段活动通信。

需要使用公共方法来访问findFragmentById()

等功能

活动可以作为独立实体存在。存在上下文,这是在android中执行US相关操作的主要要求。片段没有自己的上下文(getActivity()方法在片段中提供上下文)

来自documentation

  

虽然Fragment的生命周期与其拥有的活动相关联,但它在标准活动生命周期中有其自身的皱纹。它包括基本的活动生命周期方法,如onResume(),但同样重要的是与活动和UI生成的交互相关的方法。

编辑:按照您链接的答案的类似方法,片段(为了向后兼容)也显示为android.support.v4.app.Fragment 。但是Activity类只在android.app.So中以确保向后兼容性,在这种情况下公共方法存在