【经验总结】Android--Fragment你应该明白的一些疑难点
2017-05-21 11:53 阅读(246)

Fragment概述

                                                                                        

Fragment是Activity中用户界面的一个行为或者说是一部分。主要是支持大屏幕上动态显示和更为灵活的去组合或是交换UI组件,通过将Activity的布局分割成若干个fragment,可以在运行时编辑activity的呈现,并且那些变化会被保存在由activity管理的后台栈里面。

Fragment必须总是被嵌入到一个activity之中,并且fragment的生命周期直接接受其宿主activity的生命周期的影响。你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入的事件,并且可以在activity运行时添加或者删除。
应该将每一个fragment设计为模块化和可复用化的activity组件。也就是说,你可以在多个activity中引用同一个fragment,因为fragment定义了它自己的布局,并且使用它本身生命周期回调的行为。


Fragment周期图


Fragment和Activity生命周期综合图

Fragment生命周期中的那么多方法,快来学习一下吧!go go go


Fragment生命周期方法含义

输Fragment和Activity生命周期综合图入微小宝标题


Fragment比Activity多了几个额外的生命周期回调方法:
管理fragment生命周期与管理activity生命周期很相像

像activity一样,fragment也有三种状态:

Fragment与Activity之间的交互:
Fragment状态的持久化:

由于Activity会经常性的发生配置变化,所以依附它的Fragment就有需要将其状态保存起来问题。下面有两种常用的方法去将Fragment的状态持久化。

静态的使用Fragment

1.集成Fragment,重写onCreateView()决定Fragment的布局
2.在Activity中声明此Fragment,就和普通的View一样。

Fragment常用的API

链接:关于getChildFragmentManager()、 getFragmentManager()、getSupportFragmentManager()的使用

管理Fragment回退栈