Fragment与Activity生命周期关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fragment与Activity生命周期关系相关的知识,希望对你有一定的参考价值。
参考技术A 1. 为什么要引入Fragment?
引入Fragment是出于大屏幕的平板电脑的需要,使用Fragment可以在同一个activity中显示两个或多个Fragment,这些Fragment都属于一个Activity。Fragment必须被“嵌入”到activity中使用,因此Fragment虽然有自己的生命周期,但它的生命周期会受到所在的Activity的限制。
2. Activity与Fragment生命周期的关系?
Activity的OnCreate()
|
Fragment的onAttach(Activityactivity),其中Activity就是它所依附的Activity
|
Fragment的onCreate()
|
Fragment的onCreateView(LayoutInflaterinflater, ViewGroup container, BundlesavedInstanceState)
|
Fragment的onActivityCreated()
|
Activity的onResume()
|
Fragment的onResume()
|
Fragment的onPause()
|
Activity的onPause()
|
Fragment的onDestroy()
|
Fragment的onDetach()
|
Activity的onDestroy()
3. 在Activity如何中使用Fragment?
直接在Activity的layout布局文件中定义:
res/layout/activity_main.xml
4. Fragment如何向Activity传递数据?
一般是先在Fragment中定义一个接口,用于回调。然后让他所在的Activity实现这个接口。举个例子:
MainActivity.java
5. 那么这个叫FragmentDemos的framgent如何去获取参数呢?
是在onCreate()中使用getArguments()获取bundle参数。
FragmentDemos.java
Android 中Activity和Fragment生命周期的具体变化详解
前言:
一个MainActivity中装载了两个Fragment,在MainActivity中的onCreate()方法中进行了Fragment的添加,显示与隐藏,默认显示的是FacilityFragment,点击导航可以切换到InformationFragment。
下面我们来看看Fragment生命周期和MainActivity生命周期的具体变化:
我们首次进入MainActivity时,生命周期变化如下:
当我们点击Fragment中的内容,跳转到下一个Activity时,生命周期变化如下:
当我们点击back键再次返回到MainActivity时,生命周期变化如下:
当我们再次back键,退出程序后,生命周期变化如下:
另外一种情况,在MainActivity的时候,按home键返回到桌面,程序进入后台,生命周期变化如下:
再按Home键进入到MainActivity,生命周期变化如下:
在MainActivity中按锁屏键,之后再按开屏键,进入MainActivity中,生命周期和上面所述的按Home键,生命周期变化一致。
以上是关于Fragment与Activity生命周期关系的主要内容,如果未能解决你的问题,请参考以下文章