Android之Fragment简述

原创 2015年11月19日 20:09:57

一、概述

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之间的通信,请继续关注。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android Fragment的使用简例

  • 2016-04-08 17:48
  • 636KB
  • 下载

android之fragment之ListFragment

  • 2016-07-04 10:21
  • 1.47MB
  • 下载

android fragment保存数据

不能用 replace 应该是 add replace()的调用会导致Fragment的onCreteView()被调用,所以切换界面时会无法保存当前的状态。因此一般采用add()、hide...

Android五天乐(第二天)Activity跳转与数据传输,Fragment

1 Activity的生命周期     activity在生命周期内共有运行,暂停,和停止三种状态。每次发生状态转换时,都有一个Activity方法将状态改变的消息通知给activity。activ...

Android fragment

  • 2015-06-01 17:30
  • 2.12MB
  • 下载

android ViewPageer Fragment

  • 2015-04-09 12:33
  • 560KB
  • 下载

android学习手记第二章--Fragment 16 Mar,2011

Fragment可以理解成一个动作或者理解成在activity里面用户接口的一部分。在一个activity里面你可以加入多个fragment,或者在多个activity里面重复利用一个fragment...

Android Fragment应用

  • 2013-11-23 16:01
  • 1.28MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)