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生命周期关系的主要内容,如果未能解决你的问题,请参考以下文章

Activity与Fragment的生命周期详解

Activity与Fragment的生命周期

Fragment的生命周期

Fragment 知识巩固

Fragment生命周期

Fragment与Activity简单使用,包括二者之间的关联与生命周期