Android之Fragment简述

本文介绍了Android中Fragment的基本概念,它与Activity的关系以及在实际开发中的应用场景。Fragment作为Activity的一部分,拥有独立的生命周期,并在Activity的生命周期中相应变化。在Activity运行时,可以动态添加或移除Fragment,通过Transaction操作并利用back stack实现用户交互。文章还概述了Fragment的重要回调方法,如onAttach、onCreateView、onDestroyView等,为初学者提供了理解Fragment的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值