你的位置:首页 > 操作系统

[操作系统]【Android基础】Fragment 详解之Fragment介绍


Fragment在Android 3.0( API 11)引入,是为了支持在大屏上显示更加动态、灵活的UI,比如在平板和电视上。Fragment可以看作是嵌套的Activity,类似ActivityGroup,但是开销肯定没有ActivityGroup那么大,每一个Fragment管理着一个View,Fragment彼此之间相互独立,有自己的生命周期,这个生命周期是在Activity生命周期中的。Fragment可以用来解决屏幕适配和动态创建View的问题。

一个Fragment总是嵌入到一个Activity,是一个模块化的View,它的生命周期受它所嵌入的Activity生命周期的的影响。比如Activity进入paused状态,那么多有附在这个Activity的Fragment都会进入paused状态,当Activity被销毁时,所有附在这个Activity的Fragment也都会销毁。然后当Activty进入运行状态onResume后,你可以独立的管理每一个Fragment,可以add一个Fragment,也可以remove一个Fragment。在你执行一个Fragment事务的时候(创建并且显示出来),你可以把这个Fragment放到Fragment回退栈中,这个回退栈记录了所有你执行过的Fragment事务,用户在点击返回键的时候可以从Fragment栈中取一个Fragment来显示。

Fragment的生命周期:

如果你很清楚Activity的生命周期那么Fragment的生命周期就很容易理解,在Fragment中有很多类似Activity生命周期函数的回调方法,这些方法由Android系统调用。官方的Fragment生命周期图如下:

【Android基础】Fragment 详解之Fragment介绍
  • onCreat():
    系统调用这个函数来创建Fragment,这个方法中用来创建整个Fragment周期中都会用到的资源,比如在paused、stoped,或者resumed方法中用到的资源。
  • onCreateView():
    当Fragment需要第一次绘制用户界面的时候系统调用这个函数完成UI的绘制,你必须在这个函数返回一个View,这个View是Fragment的根View,如果你不想Fragment显示View就返回null。
  • onPause():
    当离开Fragment时系统会首先调用这个函数,在这个函数中你需要保存用户的状态类似在Activity的onPause方法中做的工作。
 
一般来说应用程序至少需要重写这三个函数,来完成你的应用程序逻辑。

 

本文为原创,禁止转载!

大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,想要系统学习某一种开发知识,我们这里有java高手,C++/C高 手,windows/Linux高手,android/ios高手,请大家关注我的微信公众号:程序员互动联盟or coder_online,大牛在线为您提供服务。

【Android基础】Fragment 详解之Fragment介绍





越南旅游怎么样几月去越南旅游最便宜怎样去越南旅游7月越南旅游越南旅游多少钱一人三王峪团购多少钱?济南三王峪旅游攻略? 三王峪门票团购价格?章丘三王峪团购优惠吗? 三王峪门票多少钱?章丘三王峪门票优惠政策? 黄河三峡景区叫妈免门票活动时间?济源黄河三峡叫妈免门票是真的吗? 迪拜出租车多少钱?起步价是多少? 曼谷有什么玩的?曼谷有什么好的地方? 马尔代夫蓝色美人蕉岛离机场远吗?这个岛屿漂亮吗? 马尔代夫机场在哪?机场的名称是什么? 杭州嘟嘟城网上预约多少钱?嘟嘟城网上怎么预定? 大围山漂流门票2015-5-7月浏阳大围山峡谷漂流门票价格 青阳佛缘谷漂流多少钱?池州九华山佛缘谷漂流门票价格? 商洛市怎样去丹江漂流?商洛到丹凤丹江漂流有车吗? 新兴天露山杜鹃花花期多长?云浮天露山杜鹃花开到什么时候? 霞客古渡自助游攻略?上林霞客古渡开车要多久? 新兴天露山漂流节好玩吗?2015天露山漂流节玩什么? 霞客古渡有直达车吗?上林霞客古渡乘车路线? 06035J4R1CBTTR Datasheet 06035J4R1CBTTR Datasheet 1812AA151MAT1A\SB Datasheet 1812AA151MAT1A\SB Datasheet 06035J4R2BBTTR Datasheet 06035J4R2BBTTR Datasheet 唐县大石峪 唐县大石峪 唐县大石峪 新场古镇好玩吗 新场古镇好玩吗 新场古镇好玩吗 汤泉温泉 汤泉温泉 汤泉温泉