关闭

Android之Fragment简述

标签: androidFragment王尊宽
150人阅读 评论(0) 收藏 举报
分类:

一、概述

Fragment中文意思是“碎片”,它是在Android 3.0 (API level 11)开始引入Fragment的。它与Activity十分相似,用来在Activity中描述一些行为或者一部分用户界面。

在Activity运行的时可加载或移除Fragment模块。一个Fragment在使用时必须要嵌入到一个Activity中。因此,我们可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入。

实际开发中,我们可以把Fragment设计成可以在多个Activity中复用的模块。当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。

                                                            

二、Fragment的生命周期

因为Fragment必须嵌入在Activity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。在实际应用中,宿主Activity暂停时,内部的Fragment也暂停,宿主Activity被销毁时,内部的Fragment也将被销毁。但是,当一个Activity处于resumed状态的时候(运行时),我们便可以对其内部的Fragment进行各种操作。比如加上或者移除Fragment。当这样进行fragment transaction(转换)的时候,可以把fragment放入Activity的back stack中,这样用户就可以进行返回操作。下图中清楚地描述了Fragment的完整的生命周期。

                                                                                                                 

上图中的几个重要的回调方法,简要介绍如下。

onAttach(Activity): 当Fragment与Activity发生关联时调用。

onCreateView(LayoutInflater,ViewGroup,Bundle):创建该Fragment的视图

onActivityCreated(Bundle):  当Activity的onCreate方法返回时调用

onDestoryView():  当该Fragment的视图被移除时调用

onDetach():  当Fragment与Activity关联被取消时调用

onCreate():  系统在创建Fragment的时候调用这个方法,这里应该初始化相关的组件,一些即便是被暂停或者被停止时依然需要保留的东西。

onCreateView():  当第一次绘制Fragment的UI时系统调用这个方法,必须返回一个View,如果Fragment不提供UI也可以返回null。注意,如果继承自ListFragment, onCreateView()默认的实现会返回一个ListView,不用自己实现。

onPause():  当用户离开Fragment时第一个调用这个方法,需要提交一些变化,因为用户很可能不再返回来。

        总结:上面的内容主要讲述了Fragment的主要概念,重要特点和好处。另外,着重讲述了Fragment的生命周期的相关知识。希望给初学Fragment的朋友带来帮助,后面的文章中将会介绍如何在Activity中静态的和动态的添加Fragment以及如何在宿主Activity中进行各个Fragment之间的通信,请继续关注。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1546次
    • 积分:116
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档