Fragment生命周期

Fragment优点:

1、模块化:不需要把所有代码都写在activity中

2、可重用:多个activity可重用一个fragement

3、可适配:可以根据屏幕的尺寸,屏幕方向,方便的实现不同的布局

 

Fragment官方定义:

A Fragment represents a behavior or a portion of user interface in an Activity. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. You can think of a fragment as a modular section of an activity, which has its own lifecycle, receives its own input events, and which you can add or remove while the activity is running.

从该定义知,fragement是依赖activity的不能独立存在,一个activity可以加载多个fragment,一个fragment可以被多个activity重用,fragement有自己的生命周期并能接收事件,能够在activity运行时动态的增删fragement

 

Fragmengt使用过程中的常见类:

  1. Fragement

FragmentManager:管理和维护Fragement,为抽象类,具体实现类为FragmentManagerImpl

  1. FragmentTransaction:fragement事务管理类,对Fragment的添加、删除等操作都需要通过事务方式进行,为抽象类,具体实现类是BackStackRecord

 

Fragment的一些常用派生类

DialogFragment显示一个浮动的对话框。使用这个类创建对话框是替代activity创建对话框的最佳选择。因为可以把fragmentdialog放入到activity的返回栈中,使用户能再返回到这个对话框。

ListFragment:显示一个列表控件,就像ListActivity类,它提供了很多管理列表的方法,比如onListItemClick()方法响应click事件。

PreferenceFragment显示一个由Preference对象组成的列表,与PreferenceActivity相同。它用于为程序创建设置”activity

 

Fragment生命周期:

setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行懒加载操作。
onAttach():执行该方法时,FragmentActivity已经完成绑定,该方法有一个Activity类型的参数,代表绑定的Activity,这时候你可以执行诸如mActivity = activity的操作。
onCreate():初始化Fragment,可通过参数savedInstanceState获取之前保存的值。
onCreateView():初始化Fragment的布局。加载布局和findViewById的操作通常在此函数内完成,但是不建议执行耗时的操作,比如读取数据库数据列表。
onActivityCreated():执行该方法时,与Fragment绑定的ActivityonCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,所以在该方法之前ActivityonCreate方法并未执行完成,如果提前进行交互操作,会引发空指针异常。
onStart():执行该方法时,Fragment由不可见变为可见状态。
onResume():执行该方法时,Fragment处于活动状态,用户可与之交互。
onPause():执行该方法时,Fragment处于暂停状态,但依然可见,用户不能与之交互。
onSaveInstanceState():保存当前Fragment的状态。该方法会自动保存Fragment的状态,比如EditText键入的文本,即使Fragment被回收又重新创建,一样能恢复EditText之前键入的文本。
onStop():执行该方法时,Fragment完全不可见。
onDestroyView():销毁与Fragment有关的视图,但未与Activity解除绑定,依然可以通过onCreateView方法重新创建视图。通常在ViewPager+Fragment的方式下会调用此方法。
onDestroy():销毁Fragment。通常按Back键退出或者Fragment被回收时调用此方法。
onDetach():解除与Activity的绑定。在onDestroy方法之后调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值