失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

时间:2022-05-10 17:44:26

相关推荐

Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

前情提要(Previously)

本系列将使用 Android Studio 将《第一行代码》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路。

PS:其实我就是现学现卖,希望我能坚持刷完。

在前面刚学习了Fragment,这次来了解一下她的生命周期。

系列目录在此:

Android Studio 单刷《第一行代码》系列目录

Fragment 的生命周期

先来看一下 Fragment 的生命周期图解吧。

与 Activity 的 关系

Fragment 必须是依存于 Activity 而存在的,因此 Activity 的生命周期会直接影响到 Fragment 的生命周期。Android 官网这张图很好的说明了两者生命周期的关系,如下

跟 Activity 比较,多了下面几个回调函数:

onAttach(),当 Fragment 和 Activity 建立关联时调用。onCreateView(),当为 Fragment 创建视图时调用。onActivityCreated(),与 Fragment 关联的 Activity 已经创建完毕时调用。onDEstroyView(),当与 Fragment 关联的视图被移除时调用。onDetach(),当 Fragment 和 Activity 接触关联是调用。

体验 Fragment 的生命周期

打开上一篇Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础中的 FragmentTest 项目,修改 RightFragment 中的代码,重写每一个回调方法在里面加上输出日志,代码如下:

public class RightFragment extends Fragment {

public static final String TAG = "RightFragment";@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);Log.d(TAG, "onAttach");}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.d(TAG, "onCreate");}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {Log.d(TAG, "onCreateView");View view = inflater.inflate(R.layout.right_fragment, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Log.d(TAG, "onActivityCreated");}@Overridepublic void onStart() {super.onStart();Log.d(TAG, "onStart");}@Overridepublic void onResume() {super.onResume();Log.d(TAG, "onResume");}@Overridepublic void onPause() {super.onPause();Log.d(TAG, "onPause");}@Overridepublic void onStop() {super.onStop();Log.d(TAG, "onStop");}@Overridepublic void onDestroyView() {super.onDestroyView();Log.d(TAG, "onDestroyView");}@Overridepublic void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy");}@Overridepublic void onDetach() {super.onDetach();Log.d(TAG, "onDetach");}

}

运行,RightFragment 第一次加载,查看 Logcat 中的日志,如下图点击 LeftFragment 中的 Button,AnotherRightFragment 替换 RightFragment 出现,查看日志,如下图按 Back 键,RightFragment 出现,查看日志,如下图再按 Back 键,程序退出,查看日志,如下图

OK 了,我们对 Fragment 的生命周期已经了解的差不多,更深刻的理解以后用到的时候再说了。

其它(Miscellaneous)

尽管我试图在本文中尽量完整的进行描述,但受限于篇幅和我的个人水平,本文难免有所遗漏,欢迎在评论中指出。

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!

关于作者(About Me)

addict

from:/DebugLife/p/4358843.html

如果觉得《Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。