首页
学习
活动
专区
工具
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
您找到你想要的搜索结果了吗?
是的
没有找到

【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 添加到 Activity 中才能显示, 以下是将 Fragment 嵌入 Activity 的方式; -- 布局文件嵌入 : 在布局文件中 使用 元素...Fragment 与 Activity 通信 Fragment 获取 Activity : 调用 Fragment 对象的 getActivity()方法, 即可获取 Fragment 嵌入的 Activity...对象; Activity 获取 Fragment :  -- Fragment 属性 : 在布局文件中, 可以为 元素指定 android:id 和 android:tag...传递数据 : 将 Activity 当作接口子类对象, Fragment 中调用 Activity 中的接口方法; -- Fragment 定义接口 : 在 Fragment 内部定义一个 Callback...Fragment 生命周期 (1) Fragment 状态 活动状态 : Fragment 处于前台, 可见, 可以获取焦点; 暂停状态 : Fragment 嵌入的Activity 也处于暂停状态,

1.3K50

详解Android studio 动态fragment的用法

fragment的使用时Android的基础,它有两种用法,第一个就是静态的fragment。第二个则是动态的fragment。...静态fragment直接在layout创建你想要的fragment的XML的文件,然后在你的Java包里面创建对应fragment的class文件 布局代码如下所示 Java <?...Fragment_1=new Fragment_1(); Fragment_2=new Fragment_2(); Fragmentnow=Fragment_1; fragmentManager...其次就是实例化我们所写的fragment功能函数 Java private void shilihua(){ //用于实例化fragment Fragment_1=new Fragment_1(...到此这篇关于详解Android studio 动态fragment的用法的文章就介绍到这了,更多相关Android studio fragment用法内容请搜索179885.Com以前的文章或继续浏览下面的相关文章希望大家以后多多支持

1.3K20

ViewPager 详解(五)—–使用Fragment实现ViewPager滑动

前言:前几篇文章讲解了ViewPager的普通实现方法,但android官方最推荐的一种实现方法却是使用fragment,下面我们使用fragment来重新实现一下第一篇《ViewPager 详解(一)...系列文章: 1、《ViewPager 详解(一)—基本入门》 2、《ViewPager 详解(二)—详解四大函数》 3、《ViewPager 详解(三)—PagerTabStrip与PagerTitleStrip...添加标题栏的异同》 4、《ViewPager 详解(四)—-自主实现滑动指示条》 其它相关文章: 5、《Android Fragment完全解析,关于碎片你所需知道的一切》 6、《fragment中嵌套...最后,getCount()返回用于滑动的fragment总数; 从构造函数所以看出,我们要构造Fragment的集合才行,所以下面我们就先产生我们所需要的Fragment类; 2、三个Fragment...Fragment1()转换为fragment” 解决办法 :这是因为导入包不一致,一般的问题在于:在Fragment1中导入的是android.app.Fragment, 而在这里导入类确是:android.support.v4

79320

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

94211

Navigation问题详解——Fragment创建新的实例

之后,也在尝试使用Navigation,但是使用的过程当中遇到了问题: 每次进入下一个Fragment不管任务栈里是否存在该Fragment的实例,都会创建一个新的实例而不会复用。...注意如果要实现以上效果我们应该注意一下几个地方: 1.如果我们用Kotlin语言,那么我们在gradle当中引用的地方的类库,需要改成 implementation "android.arch.navigation:navigation-fragment-ktx...implementation "android.arch.navigation:navigation-ui-ktx:$nav_version" // use -ktx for Kotlin 2.这样我们在Fragment...navigate(R.id.action_oneFragment_to_twoFragment) 注意这里,引用的findNavController包为: import androidx.navigation.fragment.findNavController...但是,我们的问题依旧存在,每次点击的时候依然会创建一个新的Fragment,一个新的实例,只是我们在创建新的实例的时候,把之前的给清除了而已。 我会在下一篇文章介绍如何解决这个问题!

1.8K20

详解Android activity与fragment之间的通信交互

前言 纵观市场,大多数的APP都采用导航+fragment这种设计模式,如微信,QQ,京东,淘宝,究其原因:简洁。...在开发过程中不可避免的会出现fragmentfragmentfragment与activity之间的通信交互问题。 本章讲述如何实现fragment与activity之间的通信。...一、APP构成 MainActivity+底部导航栏; 二、通信目的 MainActivity中成员方法test(),fragment中经test()方法判断后,方可执行下一步操作,如执行界面跳转;...中需要对mBaiDuSDK_is_Ok进行值判断,执行界面跳转; 三、解决方法 public class Test1Fragment extends Fragment implements OnClickListener...Log.i("BAIDUSDK", "验证:" + ((MainActivity) mActivity).ismBaiDuSDK_is_Ok()); //最为关键的一步,fragment

1K10

AndroidX下使用Activity和Fragment的变化详解

在构造器中传入布局 ID 从 AndroidX AppCompat 1.1.0 和 Fragment 1.1.0 ( 译者注:AppCompat 包含 Fragment,且 Fragment 包含 Activity...) class MyFragment : Fragment(R.layout.my_fragment) 这种方法可以减少 Activity/Fragment 中方法重写的数量,并使类更具可读性。...但是,当您使用 Fragment 时,没有直接的方法来拦截返回。在 Fragment 类中没有可用的onBackPressed() 方法,这是为了防止同时存在多个 Fragment 时发生意外行为。...测试 Fragment 从AndroidX Fragment 1.1.0 开始,可以使用 Fragment 测试组件提供 FragmentScenario 类,该类可以帮助在测试中实例化 Fragment...到此这篇关于AndroidX下使用Activity和Fragment的变化详解的文章就介绍到这了,更多相关AndroidX使用Activity和Fragment内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

1.7K10

Android开发之漫漫长途 XII——Fragment详解

--在这里使用fragment 标签 并指定name为上面定义的两个Fragment的全类名--> <fragment android:id="@+id/fragment1"...Fragment生命周期 和Activity一样,Fragment 也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方式来瞧一瞧Fragment的生命周期是什么样的: public...Fragment通信 一个宿主Activity可能包含2个以上的Fragment,那么Fragment之间以及Fragment与宿主Activity之间的通信问题是我们不得不解决的问题。...中调用另外一个Fragment中的方法 我们可以直接在一个Fragment中调用另外一个Fragment的公开方法,前提是要先拿到另外一个Fragment的实例,我们先来看看怎样拿到实例: public...---- 本篇总结 我们本篇详细分析了Android Fragment相关知识,灵活运用Fragment可以让你得到意向不到的效果,我们使用Fragment降低耦合度,但是可能也增加了Fragment之间以及

36410

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重新创建。既不剩内存,也不提高性能。

64920

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

本文就从 Fragment的诞生开始,详细的介绍下 Fragment的各个方面,包括其定义、使用、通信、生命周期等!...基本使用 介绍 Fragment使用前,先介绍下 Fragment一些相关的核心类: Fragment:基类,任何创建的 Fragment都需要继承该类。...当我们在 Fragment中继续添加 Fragment,怎么在父 Fragment中获取子 Fragment的管理器?就需要使用 getChildFragmentManager()来获取。...常常配合有多个 Fragment及有TAB等切换方式的时候,如APP的底部导航,选中某个按钮,让对应的 Fragment显示,其他 Fragment隐藏。...对于 Fragment之间的通信,由于 Fragment之间是没有任何依赖关系的,如果要进行 Fragment之间的通信,建议通过 Activity作为中介,不要 Fragment之间直接通信。

1.7K20
领券