动态添加fragment,改变相对应所属activity的生命周期顺序

1、静态添加
通常下我们是在activity 的main.xml下创建布局文件,同时添加自己创建的fragment,以

形式插入页面。
例如:


<fragment
android:id="@+id/fragment_hello" 
                               android:name="com.example.m01_fragment02.HelloFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

这个时候生命周期就是通常说的:
静态添加fragment生命周期

静态添加Fragment,对应activity具体的生命周期方法执行顺序:
Activity: onCreate 是指 执行完毕,及方法最后一行的代码,下同
Fragment: onAttach
Activity: onAttachFragment
Fragment:onCreate
Fragment:onCreateView (或者onCreateDialog)
Fragment: onActivityCreated
Activity: onStart
Fragment: onStart
Activity : onResume
Fragment: onResume
Fragment: onDestroy
Activity : onDestroy
Fragment: onDimiss

从上可以看出,
1、Fragment创建、激活状态 都是在 所属activity之后才可以的,比它慢一步。
2、所属Activity中所有的Fragment都销毁了,该activity才真的销毁。
3、Fragment 中有一个Fragment.getView() 方法,该方法必须等Fragment:onCreateView (或者onCreateDialog)执行完,才能返回视图,否侧返回null,可能导致空指针异常!!!

今天我们说的是动态添加fragment的生命周期。
2、动态添加fragment,使用fragmentmanager动态操作fragment(影响fragment生命周期)
动态添加之所以可以自定义生命周期,其实很简单,就是在activity不同的生命周期方法里面创建,从而导致生命周期和上图不同了。呵呵~
Fragment f=new Fragment();//创建

可以放在activity的 oncreate\onresum\onstart 等方法内,改变子Fragment对应activity的生命周期。
注意:这里说的是相对应所属activity的顺序,但是Fragment自己的生命周期是永远不会变的。

欢迎大家指正!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值