动态添加fragment,改变相对应所属activity的生命周期顺序
2016-11-11 15:02
411 查看
1、静态添加
通常下我们是在activity 的main.xml下创建布局文件,同时添加自己创建的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自己的生命周期是永远不会变的。
欢迎大家指正!!!!
通常下我们是在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,对应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自己的生命周期是永远不会变的。
欢迎大家指正!!!!
相关文章推荐
- 在ActivityLifecycleCallbacks的activity生命周期方法中动态添加Fragment和处理,忽略Fragment任务栈的位置,报NullPointerException
- Activity动态添加Fragment时遇到的问题
- 【面试】如何向Activity当中动态添加Fragment
- LinearLayout中动态添加Fragment不能填充整个Activity的问题
- Android-Fragment(2)-在Activity中动态添加删除
- Android Activity与Fragment生命周期 对应关系
- 改变屏幕后,Activity、Fragment的生命周期变化
- Anctivity与Fragment不得不说的事情(activity动态替换添加fragment)
- 在Activity中静态、动态添加Fragment
- 一张图明白Activity和Fragment对应的生命周期
- Android Fragment的动态添加,Fragment,Activity以及Fragment之间的通信方式
- Activity 与 Fragment 之间生命周期函数的对应同步关系图
- Activity和Fragment的生命周期执行顺序
- 关于Activity、Fragment、ActivityLifecycleCallbacks、FragmentLifecycleCallbacks的生命周期方法执行顺序
- Android - 数据库自动更新,横竖屏切换,系统控件样式,Fragment添加到Activity,Fragment生命周期,缓存,获取/清除缓存
- 依附在Activity上的Fragment生命周期与Activity生命周期回调顺序
- Activity动态添加Fragment
- Activity动态添加fragment
- Activity Fragment 生命周期顺序
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有