一、fragment 的引入
采用fragment而不是activity进行应用的UI管理,可绕开Android系统activity规则的限制。
fragment是一种控制器对象, activity可委派它完成一些任务。通常这些任务就是管理用户界面。受管的用户界面可以是一整屏或是整屏的一部分。
管理用户界面的fragment又称为UI fragment。它也有自己产生于布局文件的视图。 fragment视图包含了用户可以交互的可视化UI元素。
activity视图含有可供fragment视图插入的位置。如果有多个fragment要插入, activity视图也可提供多个位置。
根据应用和用户的需求,可联合使用fragment及activity来组装或重新组装用户界面。在整个生命周期过程中,技术上来说activity的视图可保持不变。因此不用担心会违反Android系统activity规则。
二、Fragment包的导入
API11以前用android.surport.v4.app.Fragment.获取fragment 用getSurportFragmentManager(),若不需要兼容API11之前可直接用android.app.fragment,获取fragment用getFragmentManager().
另AppCompatAvtivity和api11以后的Activity 是继承自FragmentActivity,具有管理Fragment的能力,而API11以前的Activity没有,所以FragmentActivity是一个管理Fragment的重要的支持库类。
Tips:注意包的引用一致性,不要因为手快同时导入类似于 android.app.Fragment和android.surport.v4.app.FragmentActivity这样的组合,会出错的。。。谁用谁知道。
三、Fragment生命周期图解