Fragment整理

Fragment 生命周期

Fragment必须嵌入在Acitivity中使用因此Fragment的生命周期和它所在的Activity是密切相关的
如果Activity是暂停状态,其中所有的Fragment都是暂停状态;如果Activity是stopped状态,这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment都会被销毁。 
但是,当Activity在活动状态,可以独立控制Fragment的状态,比如加上或者移除Fragment。 
当这样进行fragment transaction(转换)的时候,可以把fragment放入Activity的back stack中,这样用户就可以进行返回操作。 



使用Fragment时,需继承Fragment或Fragment的子类(DialogFragment,ListFragment,PreferenceFragment,WebViewFragment)
使用Fragment时,必须实现三个回调函数:
onCreate() 系统在创建Fragment的时候调用,用于初始化相关组件及一些即便是被暂停或是被停止时依然需要保留的东西.
onCreateView() 当第一次绘制Fragment的UI时调用,必须返回一个View,如果Fragment不提供UI可返回null.(如果是ListFragment的子类,默认返回一个ListView,不用自己实现该方法)
onPause() 当用户离开Fragment时第一个调用,用于提交一些变化,用户很可能不在返回来.

Fragment的UI

提供Fragment的UI必须实现onCreateView()方法
onCreateView()中container参数代表Fragment在Activity中的父控件,savedInstaceState提供了上一个实例的数据.
inflate()方法的三个参数:  resourceID 指明了当前的Fragment对应的资源文件
父容器控件
表名是否连接该布局和器父容器控件

加载Fragment 

Fragment被加载到Activity中时它会处在对应的ViewGroup中.
Fragment两种加载方式:
在Activity的layout中使用标签<fragment>声明
当系统创建这个Activity的布局文件时,系统会实例化每个fragment,并且调用他们的onCreateView()方法, 来获得相应fragment的布局,并将返回值插入fragment标签所在的地方
在代码中将它加入到指定的ViewGroup中
当Activity处于Running状态下,可在Activity的布局中动态地加入Fragment.
1. 通过getFragmentManager()获取到FragmentManager实例
2. 通过FragmentManager的beginTransaction()方法获取到FragmentTransaction实例
3. 创建对应Fragment对象
4. 通过FragmentTransaction的add()方法将对应的Fragment对象添加的相应的父容器中
5. 调用FragmentTransaction的commit()方法使得FragmentTransaction实例的改变生效
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值