您的位置:首页 > 移动开发 > Android开发

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 的传值通信的话篇幅会很长,我还是分开来写吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息