Android之Fragment学习(三)
2015-12-20 19:01
411 查看
上一篇博客,我们已经讲了 Fragment 的静态加载和动态加载,这一篇我们就来讲讲 Fragment 的生命周期。
废话不多说,我们先来讲讲 Fragment 的生命周期。
1. Fragment 的生命周期
2. Activity 和 Fragment 的生命周期对比图
现在开始正式讲解。
右键 java 新建一个 empty activity,名字取做 LifeActivity,包名取做 com.example.life,其他不变,finish。
修改一下这个 Activity 的布局文件 activity_life.xml。
再右键 res 下的 layout 新建两个 fragment(blank),名字分别叫做 Life1Fragment 和 Life2Fragment。
修改第一个 Fragment 布局 fragment_life1.xml 如下
修改第二个 Fragment 布局 fragment_life2.xml 如下
我们把 Fragment 的生命周期的每个方法都重写,并让它打印一条日志。修改 Life1Fragment。
修改 Life2Fragment 和 Life1Fragment 差不多,只要把 Log 日志那里区别一下就行,这里就不再发图片。
修改 LifeActivity 的代码,使它每点击一次按钮,就切换一次 Fragment。
图片中的许多代码前面的博客都有,就不再解释。
最后在去修改 MainActivity 的代码,使它能够跳转到这个页面。
最后运行项目,就可以在 logcat 中看见效果了。由于篇幅关系,这里就只写一下结论,效果就请读者自己尝试。
(1)启动 Fragment:onAttach( ) -> onCreate( ) -> onCreateView( ) -> onActivityCreated( ) -> onStart( ) -> onResume( )
(2)屏幕锁屏:onPouse( ) -> onStop( )
(3)屏幕解锁:onStart( ) -> onResume( )
(4)切换到其他 Fragment:
第一个 Fragment:onPouse( ) -> onStop( ) -> onDestroyView( ) -> onDestroy( ) -> onDetach( )
第二个 Fragment:onAttach( ) -> onCreate( ) -> onCreateView( ) -> onActivityCreated( ) -> onStart( ) -> onResume( )
感觉如果在写 Fragment 的传值通信的话篇幅会很长,我还是分开来写吧。
废话不多说,我们先来讲讲 Fragment 的生命周期。
1. Fragment 的生命周期
2. Activity 和 Fragment 的生命周期对比图
现在开始正式讲解。
右键 java 新建一个 empty activity,名字取做 LifeActivity,包名取做 com.example.life,其他不变,finish。
修改一下这个 Activity 的布局文件 activity_life.xml。
再右键 res 下的 layout 新建两个 fragment(blank),名字分别叫做 Life1Fragment 和 Life2Fragment。
修改第一个 Fragment 布局 fragment_life1.xml 如下
修改第二个 Fragment 布局 fragment_life2.xml 如下
我们把 Fragment 的生命周期的每个方法都重写,并让它打印一条日志。修改 Life1Fragment。
修改 Life2Fragment 和 Life1Fragment 差不多,只要把 Log 日志那里区别一下就行,这里就不再发图片。
修改 LifeActivity 的代码,使它每点击一次按钮,就切换一次 Fragment。
图片中的许多代码前面的博客都有,就不再解释。
最后在去修改 MainActivity 的代码,使它能够跳转到这个页面。
最后运行项目,就可以在 logcat 中看见效果了。由于篇幅关系,这里就只写一下结论,效果就请读者自己尝试。
(1)启动 Fragment:onAttach( ) -> onCreate( ) -> onCreateView( ) -> onActivityCreated( ) -> onStart( ) -> onResume( )
(2)屏幕锁屏:onPouse( ) -> onStop( )
(3)屏幕解锁:onStart( ) -> onResume( )
(4)切换到其他 Fragment:
第一个 Fragment:onPouse( ) -> onStop( ) -> onDestroyView( ) -> onDestroy( ) -> onDetach( )
第二个 Fragment:onAttach( ) -> onCreate( ) -> onCreateView( ) -> onActivityCreated( ) -> onStart( ) -> onResume( )
感觉如果在写 Fragment 的传值通信的话篇幅会很长,我还是分开来写吧。
相关文章推荐
- Servlet3.1应用生命周期事件 (转载)
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件