android.app.Fragment

来源:互联网 发布:监控无网络视频怎么办 编辑:程序博客网 时间:2024/06/14 10:36

android.app.Fragment


出处(API26):https://developer.android.com/reference/android/app/Fragment.html
相关阅读:
http://blog.csdn.net/u014587769/article/details/50280921
https://developer.android.com/guide/components/fragments.html


Fragment是可以在Activity中使用的可以和用户交互的碎片。可以通过FragmentManager管理Fragment。获取FragmentManager的方式:Activity.getFragmentManager()Fragment.getFragmentManager()

Fragment类可以使用多种方式实现多种多样的结果。最核心的:它代表的是一种在Activity中运行的操作或接口。Fragment与它所处的Activity紧密相连,不能够分开使用。虽然Fragment有它自己的生命周期,但是该生命周期是依赖于Activity的生命周期而存在的:如果Activity处于 stopped 状态在该Activity内的Fragment不可能是started的;当一个Activity被销毁的时候,依赖于该Activity的所有Fragment将全部被销毁。

Fragment的所有自雷必须包含一个无参构造函数。系统框架在必要的时候会频繁的重新实例化Fragment,特别是在状态恢复的时候,需要找到无参构造函数。如果该函数不可用,在状态恢复期的某些情况下就会抛出运行时异常。

一、Developer Guides

开发指导:https://developer.android.com/guide/components/fragments.html

Older Platforms

Fragment的概念是在Android3.0( HONEYCOMB )产生的,通过FragmentActivity我们可以以在旧的平台应用这一版本的API。更多细节:https://android-developers.googleblog.com/2011/03/fragments-for-all.html

Lifecycle

即使Fragment的生命周期是依赖于Activity而存在的,他也有自己独特的生命周期特点。它包含基本的Activity生命周期的方法像onResume(),但是同样重要的是这些方法如何和Activity交互以及控制UI的生成。

控制Fragment的 状态/交互 的核心生命周期方法是:

  1. onAttach(Activity) 一旦Fragment要被关联到Activity的时候就会调用。
  2. onCreate(Bundle) 被调用来为Fragment完成初始化工作。
  3. onCreateView(LayoutInflater, ViewGroup, Bundle) 创建并返回和和Fragment相关联的视图层次结构。
  4. onActivityCreated(Bundle) 用来通知Fragment它所在的Activity已经完成的其自身的Activity.onCreate()
  5. onViewStateRestored(Bundle) 告诉Fragment所有被保存起来的和其视图层次相关的内容已经被完全恢复啦。
  6. onStart() 把Fragment变成用户可见的状态 (本方法被调用的基础是Activity的onStat()方法被执行)。
  7. onResume() 调用此方法后Fragment处于可以和用户交互的状态 (本方法调用的基础是其Activity.onResume()的执行).

当Fragment不再被使用,一系列的毁掉方法如下:

  1. onPause() 调用导致:Fragment不能再和用户交互。调用本方法的诱因可能是Activity被暂停(onPause()),或者是Fragment正在Activity中修改它自身。
  2. onStop() 调用导致:Fragment不在处于可见状态。调用本方法的诱因可能是Activity被停止(onStop()),或者是Fragment正在Activity中修改它自身。
  3. onDestroyView() 允许Fragment清理和其视图相关联的资源。
  4. onDestroy() 允许调用来完成片段状态的最后清理通过。
  5. onDetach() 调用之解除Fragment和Activity的关联。

fragment_lifecycle activity_fragment_lifecycle


生命周期相关内容告一段落。
其余之未完~待续~~~


Layout

Back Stack

原创粉丝点击