为什么fragment中的生命周期方法是公开的,而activity的生命周期方法是受保护的?

2024-02-14

该活动被保护封装在框架包 android.app 和子类中这个链接 https://stackoverflow.com/questions/20161662/why-are-lifecycle-methods-in-activity-class-defined-with-protected-access-specif那么为什么片段生命周期方法具有公共访问修饰符呢?


简而言之,这是因为您的活动(不是您内部的)调用了类似的函数onCreateView()或者用更抽象和推理的解释,因为活动可以包含片段并用于片段活动通信。

需要公共方法来访问诸如以下功能:findFragmentById(),

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

来自文档 http://developer.android.com/reference/android/app/Fragment.html#Lifecycle

尽管 Fragment 的生命周期与其所属的 Activity 相关,但它在标准 Activity 生命周期中也有自己的特点。它包括基本的 Activity 生命周期方法,例如 onResume(),但与 Activity 交互和 UI 生成相关的方法也很重要。

EDIT:按照您链接的答案的类似方法,片段(为了向后兼容)也呈现为android.support.v4.app.Fragment http://developer.android.com/reference/android/support/v4/app/Fragment.html。但是Activity类只存在于android.app中。因此为了确保向后兼容性,本例中存在公共方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么fragment中的生命周期方法是公开的,而activity的生命周期方法是受保护的? 的相关文章

随机推荐