Fragment 2
来源:互联网 发布:淘宝 买飞机 编辑:程序博客网 时间:2024/06/02 14:49
在Fragment1中虽然介绍了Fragment生命周期会执行到的各个override方法,但没有介绍在动态操作时FragmentTransaction对于fragment生命周期的影响。这篇文章讲介绍这一块内容。
FragmentTransaction的几个核心方法除了replace都是成对出现。
Add/Remove
add 方法把一个fragment添加到一个Fragment管理容器里。当FragmentTransaction使用了add方法并commit后会执行下面几个方法。
onAttach
onCreate
onCreateView
onActivityCreated
onStart
onResume
add方法不存在理解上的问题,调用后对应fragment会一路执行到运行状态位置即onResume。
remove方法会移除Fragment管理窗口中Fragment并销毁(没执行fragmentTransaction.addToBackStack时)。
onPause
onStop
onDestroyView
onDestroy
onDetach
当执行fragmentTransaction.addToBackStack时不会销毁fragment对象也不会和active分离
onPause
onStop
onDestroyView
此时按返回键会返回到对应fragment,此时会调用以下几个方法:
onActivityCreated
onStart
onResume
Replace
Replace方法使用另一个Fragment替换当前的,实际上就是remove()然后add()的合体~
Attach/Detach
Attach方法会将fragment附着到activity中,会执行下面几个方法。
onAttach
onCreate
Detach不能字面理解为把对应fragment和active分离掉,而是销毁了fragment的view。执行以下方法。
onPause
onStop
onDestroyView
当detach前没有执行过fragmentTransaction.addToBackStack方法时,点击返回键会直接销毁对应fragment。若执行过fragmentTransaction.addToBackStack方法,点击返回键回恢复对应fragment
Show/Hide
show 展示add到容器中的fragment的View(不会调用到Fragment的override方法)
hide 隐藏add到容器中的fragment的View(通用不会调用到Fragment的override方法)
- Fragment----2
- fragment 2
- Fragment(2)
- Fragment 2
- 【Fragment精深系列2】Fragment的生命周期
- Fragment初学2——使用Fragment
- 试水Fragment(2)-动态添加Fragment
- 【Fragment精深系列2】Fragment的生命周期
- Fragment与Fragment、Activity通信(2)
- Activity-Fragment-2
- Android Fragment(2)
- Cocos2d_code fragment(2)
- 2创建一个Fragment
- Fragment详解2
- fragment 讲解2
- android fragment(2)
- Fragment生命周期2
- Android fragment解析2
- java代码测试网络是否联通
- fcntl获取和修改文件打开状态标志
- FastJson学习随笔
- hadoop集群基本配置及启动
- GridView学习
- Fragment 2
- boost mutex lock 使用
- 限制范围的拖拽
- 【java基础】String、StringBuilder和StringBuffer的区别
- LabVIEW自带函数实现SQL Server操作(下)
- linux安装mysql数据库
- 关于 Android studio的Gradle 那些坑
- MySQL优化实例
- MyBatis 原理浅析 3——数据操作