首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android基础Fragment 详解之Fragment介绍

Fragment可以看作是嵌套的Activity,类似ActivityGroup,但是开销肯定没有ActivityGroup那么大,每一个Fragment管理着一个View,Fragment彼此之间相互独立...然后当Activty进入运行状态onResume后,你可以独立的管理每一个Fragment,可以add一个Fragment,也可以remove一个Fragment。...在你执行一个Fragment事务的时候(创建并且显示出来),你可以把这个Fragment放到Fragment回退栈中,这个回退栈记录了所有你执行过的Fragment事务,用户在点击返回键的时候可以从Fragment...Fragment的生命周期: 如果你很清楚Activity的生命周期那么Fragment的生命周期就很容易理解,在Fragment中有很多类似Activity生命周期函数的回调方法,这些方法由Android...onCreateView(): 当Fragment需要第一次绘制用户界面的时候系统调用这个函数完成UI的绘制,你必须在这个函数返回一个View,这个View是Fragment的根View,如果你不想Fragment

1.2K80
您找到你想要的搜索结果了吗?
是的
没有找到

Fragment 基础知识

Fragment 生命周期 Fragment生命周期图 Fragment与Activity生命周期对比图 当一个fragment被创建的时候,它会经历以下状态....实现嵌套的Fragment会让进入Activity中,所有的Fragment都加载完毕,数据都加载好,所有此时可以使用懒加载,切换到哪个Fragment就加载哪个Fragment,这个方式加载不同Fragment...最好的是使用一个Fragment,通过replace替换不同Fragment或者通过先将最新的Fragment add,再hide上一个Fragment,最后展示这个Fragment。...如果一个fragment已经进来的话,再次添加的话会报异常错误的 添加进来的fragment都是可见的(visible),后添加的fragment会展示在先添加的fragment上面,在绘制界面的时候会绘制所有可见的...这是因为replace操作,每次都会把container中的现有的fragment实例清空,然后再把指定的fragment添加进去,就就造成了在切换到以前的fragment时,就会重新实例会fragment

59520

【Android基础Fragment 详解之Fragment生命周期

onDestroyView(): 当与Fragment关联的那个View(在onCreatView()方法中创建的)与Fragment解除关联,从View树中移除的时候调用,在下次Fragment需要显示一个...Stopped: Fragment不再可见,此时的情形可能是Fragment所在的Activity已经stopped了,或者fragment从Activity中移除到Fragment回退栈中。...与Activity类似,你可以利用Bundle来记录Fragment的状态,当Activity被销毁需要记录Fragment状态,并且在Activity重新创建的时候恢复Fragment的状态。...上面说的都是Fragment的一些生命周期相关知识,下面来看看如何创建Fragment并且添加一个View给Fragment。...以上就是Fragment的生命周期和如何创建一个Fragment的View

1.2K80

Android基础Fragment,看这篇就够了

Fragment核心的类有: FragmentFragment的基类,任何创建的Fragment都需要继承该类。 FragmentManager:管理和维护Fragment。...Nested FragmentFragment内部嵌套Fragment的能力)是Android 4.2提出的,support-fragment库可以兼容到1.6。...基本使用 这里给出Fragment最基本的使用方式。首先,创建继承Fragment的类,名为Fragment1: ?...Activity向Fragment传递数据 Activity向Fragment传递数据比较简单,获取Fragment对象,并调用Fragment的方法即可,比如要将一个字符串传递给Fragment,则在...Fragment之间通信 由于Fragment之间是没有任何依赖关系的,因此如果要进行Fragment之间的通信,建议通过Activity作为中介,不要Fragment之间直接通信。

4.8K122

activity嵌套fragmentfragment内嵌fragment之间传值切换fragment

至于fragment的用法,fragment+viewpager的滑动切换代码请参考博文 Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用 fragment...与Activity 当在使用activity嵌套fragmentfragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中一个Fragment为ParentfragmentA...,该ParentFragmentA中又嵌套了三个fragment,也就是说第二层为ChildFragment1,ChildFragment2,ChildFragment3,如果想在其中一个子fragment...中的控件点击切换到同一层的另一个子fragment 如图,在第二层fragment中,child1fragment中有两个控件viewI和viewII,点击viewI可以切换到同一层的fragment...是另一个fragment的子fragment,则获取到的是父fragment的manager getChildFragmentManager方法:获取到外层fragment的子fragment的manager

98611

Android基础Fragment,看这篇就够了 ( 下 )

作者:夏正冬 接《Android 基础Fragment,看这篇就够了 (上)》 ViewPager+Fragment相关 基本使用 ViewPager是support v4库中提供界面滑动的类,继承自...Fragment getItem(int position): 返回第position位置的Fragment,必须重写。 int getCount(): 返回ViewPager的页数,必须重写。...getItemPosition(Object object): object是Fragment对象,如果返回POSITION_UNCHANGED,则表示当前Fragment不刷新,如果返回POSITION_NONE...懒加载主要依赖Fragment的setUserVisibleHint(boolean isVisible)方法,当Fragment变为可见时,会调用etUserVisibleHint(true);当Fragment...懒加载Fragment的实现: public class LazyFragment extends Fragment { private View mRootView; private

1.9K00

Fragment

区别 二、Fragment的生命周期 三、Fragment的通信 四、Fragment的replace、add、remove 五、Fragment的管理器FragmentManager 一、Fragment...为何被称为第5大组件 1、为何称为第5组件 1)、fragment具有生命周期 2)、fragment比activity更节省内存,ui的切换效果也更加的舒适; 3)、但是fragment必须依附于...三、Fragment的通信 四、Fragment的replace、add、remove 1、add()是将Fragment实例添加到activity的Fragment队列的最上层 2、remove(...)是将Fragment实例从到activity的Fragment队列中删除 3、replace:内部线remove(实例会被回收掉)然后再add,会始终保持fragment栈中只有一个fragment...因为,detach不会回收fragment,但是会回收fragment中的view。atach会将fragment中的view重新创建。既不剩内存,也不提高性能。

66720

Android中最最常用—Fragment基础篇最详解

我们本期的主角— Fragment作为 Android最基本也最重要的基础概念之一,在我们日常的 Android开发中经常会用到。...基本使用 介绍 Fragment使用前,先介绍下 Fragment一些相关的核心类: Fragment:基类,任何创建的 Fragment都需要继承该类。...当我们在 Fragment中继续添加 Fragment,怎么在父 Fragment中获取子 Fragment的管理器?就需要使用 getChildFragmentManager()来获取。...对于 Fragment之间的通信,由于 Fragment之间是没有任何依赖关系的,如果要进行 Fragment之间的通信,建议通过 Activity作为中介,不要 Fragment之间直接通信。...结语 以上就是今天 Fragment基础内容介绍,内容还是挺多的,需要好好消化下。

1.7K20
领券