Fragment要点复习

做系统时间久了,应用层的很多东西都忘了,但是基础还是得巩固,下面对fragment相关的知识点简单整理一下。

一、fragment的引入

fragment是从Android3.0(API level 11)引入的,它的引入最初是为了支持大屏设备,如平板电脑,使其可以更加动态和灵活的进行UI设计。目前使用fragment可以简化UI组件,对UI组件分组,进行模块化管理。

二、fragment的生命周期

fragment是需要嵌入在Activity中的,但是它也有自己的生命周期,分别对应十一个生命周期中的回调方法,见如下官方的图片

其中,onCreateView是其中复写最普遍的方法,因为该方法中会inflate它的布局view并对其中组件做相应的初始化,最后会把该view return表明需要加载的布局。

三、fragment的创建

这里基本上都是模板代码了,就是在依赖的activity中会初始化fragment,然后通过 getFragmentManager().beginTransaction().replace(...).commit(); 来完成fragment的加载替换工作。

四、fragment与activity之间的通信

fragment中获取依赖的activity使用getActivity()方法,向它传递数据则需要使用回调的方法,可以在fragment中创建一个public的内部接口,然后让activty实现该接口;

activity得到fragment则可以通过getFragmentManager()方法获取相关的FragmentManager,调用方法findFragmentById(int id)或findFragmentByTag(String tag)方法获取,传递数据则可以使用Bundle,在Bundle中封装好数据后使用fragment的setArguments(Bundle bundle)方法传递数据该fragment,在fragment中使用getArguments或者onCreate等方法中均可以获得该bundle,进而获取传递的数据。

原文地址:https://www.cnblogs.com/hackerkevin/p/4733480.html