fragment是一种控制器对象,activity可以让其完成一些任务,通常是用来管理用户界面。被管理的界面可以占屏幕的一部分也可以是整个屏幕。
管理用户界面的fragment也可以叫做UI fragment它也有自己产生于布局文件的视图。fragment视图包含了用户可以交互的可视化UI元素。为什么要使用fragment呢,因为它支持更动态更灵活的界面设计,在平板上的应用都是fragment的优势,activity的layout分成fragment可以表示成
一个或者多个fragment都可以嵌入activity中,也就是说,多个fragment们组合到一个activity中,多个activity中也可重用一个fragment,它相当于模块化的一段activity。
和Activity一样,fragment也拥有自己的生命周期,接受自己的事件:
fragment类中也提供了一系列的回调方法,以覆盖生命周期的每个环节:
1.onAttach()和活动建立关联的时候调用
2.onCreateView()创建视图(加载布局)时调用。
3.onActivityCreated()确保与之相关联的活动一定已经创建完毕的时候调用
4.onDestroyView()当与之关联的视图被移除时调用。
5.onDetach()当和活动解除关联的时候调用。
那如何管理fragment:查找fragment可以通过findfragmentById()或者findfragmentByTag()
fragment的后退:fragment Stack,popBackStack() ,addOnBackStackChangedListerner()