首页 > 代码库 > Android学习之fragment
Android学习之fragment
fragment是一种控制器对象,activity可通过fragment 来管理一些用户的界面,这些界面可以是一整屏或是一整屏的一部分。fragment视图包含了用户可以交互的可视化的UI元素,但fragment视图本身不具有在屏幕上显示视图的能力,只有将它的视图放置在activity的视图层级结构上,fragment才能显示在屏幕上。因此activity视图中含有可供fragment视图插入的位置。这个知识点就解决了我上篇文章的疑惑。
因此 fragment的使用需要activity的支持,activity也可以提供这样的支持。为了管理好UI fragment,activity需要做到在布局中为fragment的视图安排位置和管理fragment的生命周期。FragmentManager负责管理fragment,并将它们的视图加入到activity的视图层级结构中去。首先要通过getSupportManager()方法(如果不需要支持低版本的设备,可直接调用getFragmentManager()方法)获取 FragManager对象本身。然后用这个对象来管理fragment 事务。fragment事务是被用来添加、移除、附加、分离fragment队列中的fragment。 fragment的生命周期类似于activity生命周期,有也停止,暂停,运行等状态。fragment的生命周期方法是由托管的activity调用的,而不是操作系统调用的。
1 public View onCreateView(LayoutInflater inflater,ViewGroup parent,Bundle savedInstanceState)
通过该方法生成fragment视图的布局,然后将生成的View返回给托管的activity。通过LayoutInflater.inflate()方法传入布局的资源ID生成fragment视图。第二个参数是视图的父视图,通常我们需要父视图来正确配置组。Bundle包含了该方法在保存状态下重建视图所使用的数据。