android.app.Fragment
android.app.Fragment
出处(API26):https://developer.android.com/reference/android/app/Fragment.html
相关阅读:
http://blog.****.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的 状态/交互 的核心生命周期方法是:
-
onAttach(Activity)
一旦Fragment要被关联到Activity的时候就会调用。 -
onCreate(Bundle)
被调用来为Fragment完成初始化工作。 -
onCreateView(LayoutInflater, ViewGroup, Bundle)
创建并返回和和Fragment相关联的视图层次结构。 -
onActivityCreated(Bundle)
用来通知Fragment它所在的Activity已经完成的其自身的Activity.onCreate()
。 -
onViewStateRestored(Bundle)
告诉Fragment所有被保存起来的和其视图层次相关的内容已经被完全恢复啦。 -
onStart()
把Fragment变成用户可见的状态 (本方法被调用的基础是Activity的onStat()
方法被执行)。 -
onResume()
调用此方法后Fragment处于可以和用户交互的状态 (本方法调用的基础是其Activity.onResume()
的执行).
当Fragment不再被使用,一系列的毁掉方法如下:
-
onPause()
调用导致:Fragment不能再和用户交互。调用本方法的诱因可能是Activity被暂停(onPause()
),或者是Fragment正在Activity中修改它自身。 -
onStop()
调用导致:Fragment不在处于可见状态。调用本方法的诱因可能是Activity被停止(onStop()
),或者是Fragment正在Activity中修改它自身。 -
onDestroyView()
允许Fragment清理和其视图相关联的资源。 -
onDestroy()
允许调用来完成片段状态的最后清理通过。 -
onDetach()
调用之解除Fragment和Activity的关联。
生命周期相关内容告一段落。
其余之未完~待续~~~