Fragment的生命周期

Fragment的生命周期有11个,比Activity的生命周期会复杂不少,而且Fragment的生命周期同Activity的生命周期的穿插的执行的,看图:

其中背景为蓝色的为Activity的生命周期,其他的为Fragment周期,由图可以看出,在Fragment初始化完成前,相同的生命周期都是Activity先执行的,而进入销毁的周期时,就变成了Fragment的先执行。

1、  public void onAttach(Activity activity)方法

执行完该方法,Fragment就与Activity关联起来了,此时可以通过getActivity()获取到关联的Activity对象,但是此时控件还没被装载,所以无法获得关联Activity中的任何控件。

2、  public void onCreate(Bundle savedInstanceState)

此方法为装载Fragment中的视图做准备,savedInstanceState参数为恢复状态的参数,同Activity的onCreate中的参数类似,执行完此方法照样无法获取到Activity的控件。

3、  public View onCreateView(LayoutInflater inflater,  ViewGroup container,  Bundle savedInstanceState)

此方法为Fragment生命周期中最重要的一个,在该方法中会装载Fragment要显示的视图,可以在该方法中获取到视图中的各个控件,并控制这些的控件的显示,参数container为要装载的视图的父视图。但在该方法执行结束之后,仍无法获取Activity中除了当前Fragment外的其他控件。

4、  public void onActivityCreated(Bundle savedInstanceState)

执行完此方法,表示窗口已经初始化完成,此时才可以通过  getActivity().findViewById()方法获取Activity中的所有控件。

5、  public void onStart()

6、  public void onResume()

7、  public void onPause()

8、  public void onStop()

这个四个方法,与Activity生命周期中相对应的方法类似。

9、  public void onDestroyView()

调用完此法方法,在onCreateView创建的View将会与Fragment分离。

10、public void onDestroy()

此时无法对Fragment进行操作了,但是Fragment仍与Activity相关联。

11、 public void onDetach()

这个Fragment生命周期的最后一个方法了,执行完这个方法,Fragment不在和Activity相关联,相关的View也会被销毁。

时间: 2024-08-26 08:59:10

Fragment的生命周期的相关文章

Fragment 整个生命周期演示

Fragment生命周期主要体现在以下表中13个方法里,以下是按照Fragment从开始到销毁的先后执行顺序排序. 序号 方法名称 描述 1 public void onInflate(Activity activity, AttributeSet attrs,BundlesavedInstanceState) 在Activity.onCreate方法之前调用,可以获取除了View之外的资源 2 public void onAttach(Activity activity) 当fragment第

【Android】11.4 Fragment及其生命周期

分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如平板电脑等.由于平板电脑的屏幕要比手机屏幕大许多,这样就有更多的空间去组合和交换UI组件. 也许这样比喻你能更快地理解它:和WPF相比,如果将Activity的作用看作类似于WPF的Window或者Page:那么Fragments的作用就类似于WPF在Window或者Page中包含的一个或多个Fra

Fragment的生命周期&同一Activity下不同Fragment之间的通信

Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方式来瞧一瞧Fragment的生命周期是什么样的: 1 publicclass Fragment1 extends Fragment { 2 publicstaticfinal String TAG = "Fragment1"; 3 @Override 4 public View onCre

友盟页面统计 - 关于Viewpager中的Fragment的生命周期

Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的.在此不表: Fragment从出现到广泛运用也有一段时间了.其标准生命周期也仅比Activity多出一些流程,如onCreateView(); Activity和Fragment在实际编码中必然是结合出现的,表现为Activity作为容器,装载有一个或若干个Fragment: 装载多个Fragment时,常常使用TabHost和Viewpager作为载体: 在实际编码中发现,Activity和

详解fragment(一):从源代码看fragment的生命周期

前面讲了那么多xml,我们缓一下,现在讲从代码角度来看fragment的创建. 我们通常会在FragmentActivity中通过如下方法: getSupportFragmentManager().beginTransaction().replace(R.id.content, fragment, tag).commit(); getSupportFragmentManager().beginTransaction().add(R.id.content, fragment, tag).commi

Activity和Fragment的生命周期

Activity和Fragment的生命周期

Fragment传值为什么要通过setArguments()和Fragment的生命周期

在Fragment2中,新建一个函数:newInstance(String  text)来接收传过来的参数: 新建一个Fragment2实例,然后将参数通过SetArguments设置到其中: public static Fragment2 newInstance(String text) {        Fragment2 fragment = new Fragment2();        Bundle args = new Bundle();        args.putString(

死磕 Fragment 的生命周期

死磕 Fragment 的生命周期 本文原创,转载请注明出处. 欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文. 本文例子中 github 地址: github 项目链接 曾经在北京拥挤的13号线地铁上,一名背着双肩包穿着格子衫带着鸭舌帽脚踏帆布鞋的程序员讲了一句: "我觉得 Fragment 真的太难用了".从而引起一阵躁动激烈的讨论. 正方观点: Fragment 真的太好用了.要知道因为 Activi

Android高级编程笔记(六)Fragment的生命周期

在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态:当前Fragment位于前台,可见,可获得焦点. · 暂停状态:其他Activity位于前台,该Fragment可见,不可获得焦点. · 停止状态:不可见,失去焦点. · 销毁状态:该Fragment被完全删除或被结束. 二.Fragment的回调方法: 在Fragment的生命周期中,有一下方法