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

Fragment基本使用

使用Fragment可以把屏幕划分成几块,然后进行分组,进行一个模块化管理。...Fragment不能够单独使用,需要嵌套在Activity中使用,其生命周期也受到宿主Activity的生命周期的影响 官方定义如下: A Fragment represents a behavior...在介绍Fragment的具体使用时,先介绍一下Fragment的几个核心类 FragmentFragment的基类,任何创建的Fragment都需要继承该类 FragmentManager:管理和维护...Fragment使用 使用Fragment有两种方式,分别是静态加载和动态加载 2.1 静态加载 关于静态加载的流程如下: 定义Fragment的xml布局文件 自定义Fragment类,继承Fragment...(); 考虑Fragment的重复使用问题,降低与Activity的耦合,Fragment操作应该由它的管理者Activity决定。

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

Android Fragment 使用

Fragment如何产生,什么是FragmentFragment生命周期,如何静态和动态的使用FragmentFragment回退栈,Fragment事务;以及Fragment的一些特殊用途,例如:...关联被取消时调用 注意:除了onCreateView,其他的所有方法如果你重写了,必须调用父类对于该方法的实现, 3、静态的使用Fragment 嘿嘿,终于到使用的时刻了~~ 这是使用Fragment最简单的一种方式...~~~下面看下效果图: 4、动态的使用Fragment 上面已经演示了,最简单的使用Fragment的方式~下面介绍如何动态的添加、更新、以及删除Fragment 为了动态使用Fragment,我们修改一下...值得注意的是:如果你喜欢使用Fragment,一定要清楚这些方法,哪个会销毁视图,哪个会销毁实例,哪个仅仅只是隐藏,这样才能更好的使用它们。...在下一篇,会介绍: 1、如何管理Fragment回退栈 2、Fragment如何与Activity交互 3、Fragment与Activity交互的最佳实践 4、没有视图的Fragment的用处 5、使用

43920

Android开发之Fragment动态使用

在 Android开发之奇怪的Fragment 一文中,讲到了Fragment的基础知识,这次来重点讨论一下Fragment的动态使用。...这种情况主要针对布局文件中用占位符,在Activity中进行切换Fragment的情况,分为两种: 1、使用replace方法把原有的Fragment替换掉; 2、使用hide和show方法,把已经添加过的...使用场景:如果被替换的Fragment无须再次使用,可以使用replace方法。 ---- 2、使用hide和show方法,把已经添加过的Fragment隐藏或显示出来。...hideAndShow oneTtwo.PNG (3)Fragment2 ——>Fragment1,不打印任何生命周期 (4)再次Fragment1 ——>Fragment2,不打印任何生命周期 使用场景...:如果Fragment需要重用或者不断切换,可以使用该方法提高性能。

55970

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

Android中的Fragment使用

Android开发中Fragment主要用来提供更灵活的界面构造形式,顾名思义,英语中fragment一词就是片段的意思。...我们可以创建一个扩展自Fragment的类,在重载的onCreateView方法中填充xml定义的布局,然后在其容器Activity所使用的xml布局文件中,像引入其它视图组件一样对其进行引入。...在作为容器的Activity代码中使用FragmentManager可以获取到对这个Fragment的引用。...类中定义的一个接口,同时在Fragment类中定义该接口类型的一个成员,在重载的onAttach中获取容器activity引用,赋值给该成员。...这样当触发了Fragment中的某个组件的事件时,就能调用该接口的方法,实现Fragment向容器Activity传递消息和数据了。

46830

fragment使用时getArguments报空解决

今天在使用fragment获取到activity的值时遇到一个问题,耽误了好长时间,在此分享给大家 遇到的问题是getArguments为空, 05-21 23:13:51.906 3262-3262/...you should call it immediately after constructing the fragment....} 大致翻译一下就是这个方法必须也只能在fragment与它的activity绑定之前进行调用,也就是说,当你初始化了fragment对象后和你必须在绑定它和它的activity关系之前去调用它。...但有一点,这是保证你的程序正确,即程序中没有重复的去创建fragment的前提下,否则,你就算刚开始初始化了,再次调用的话还是会报空。...在初始化fragment后,绑定之前,调用setArguments()方法将所要传递的数据传给fragment Bundle arguments = new Bundle(); arguments.putString

52110

【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 就是一个 Activity 布局的一部分,可以把 Activity 的一部分布局抽离出来到 Fragment 中,并且 Fragment 也可以执行逻辑。...比如我们常见的布局,底部导航,然后每个模块对应不同的 Fragment。其实也是完全可以不使用 Fragment 的,一个页面中包含各个模块的布局,然后通过点击导航来决定隐藏哪些模块。...Fragment 相关的三个类 Fragment 具体的 Fragment FragmentManager 是管理 Fragment 的 FragmentTransaction 通过事务来进行添加 Fragment...transaction.replace() 使用 Fragment 替换当前,相当于先移除之前的 Fragment(remove()) 然后再 add() transaction.hide() 隐藏当前...基本使用 静态添加 // 直接在 xml 中添加 <fragment android:id="@+id/fragment" android:layout_width

96620

Android中Fragment+ViewPager的配合使用

官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例。...10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.zhf.android_viewpager_fragment...(savedInstanceState);         //这里我只是简单的用num区别标签,其实具体应用中可以使用真实的fragment对象来作为叶片         mNum = getArguments...事实上使用FragmentPagerAdapter 时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合用FragmentPagerAdapter了,FragmentPagerAdapter...这个时候你可以考虑使用FragmentStatePagerAdapter ,当使用FragmentStatePagerAdapter 时,如果Fragment不显示,那么Fragment对象会被销毁,(

970100

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

前言:前几篇文章讲解了ViewPager的普通实现方法,但android官方最推荐的一种实现方法却是使用fragment,下面我们使用fragment来重新实现一下第一篇《ViewPager 详解(一)...,它所使用的适配器是:FragmentPagerAdapter.先看看官方对于这个类的解释:(英文下面有中文解释) 原文: Class Overview ---- Implementation of PagerAdapter...因此fragment实例会保存大量的各种状态,这就造成了很大的内存开销。所以如果要处理大量的页面切换,建议使用FragmentStatePagerAdapter....每一个使用FragmentPagerAdapter的ViewPager都要有一个有效的ID集合,有效ID的集合就是Fragment的集合(感谢夫诸同学的提示) 对于FragmentPagerAdapter...最后,getCount()返回用于滑动的fragment总数; 从构造函数所以看出,我们要构造Fragment的集合才行,所以下面我们就先产生我们所需要的Fragment类; 2、三个Fragment

79720

Android-Jetpack笔记-Navigation之Fragment使用

Jetpack笔记代码 本文源码基于SDK 29,IDE是Android studio 3.5.3 使用 创建工程,引入依赖, implementation 'androidx.navigation:...-- fragment作为页面容器,navGraph指定了导航图的结构 --> <fragment android:id="@+id/nav_host_fragment"...这里我们使用的是FragmentNavigator, //FragmentNavigator.java NavDestination navigate(Destination destination,...String className = destination.getClassName(); //反射创建fragment Fragment frag = instantiateFragment...这样是没问题的,但是这里的fragment是作为首页的3个常驻页面,我们是希望能够保存起来的,毕竟,销毁重建需要重新请求网络数据,重新初始化view,严重影响用户体验,笔者将在下篇文章探讨fragment

1.5K30

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

但是,当您使用 Fragment 时,没有直接的方法来拦截返回。在 Fragment 类中没有可用的onBackPressed() 方法,这是为了防止同时存在多个 Fragment 时发生意外行为。...FragmentFactory Fragment 最常提及的问题之一是不能使用带有参数的构造函数。...例如,如果您使用 Dagger2 进行依赖项注入,则无法使用 Inject 注解 Fragment 构造函数并指定参数。...测试 Fragment 从AndroidX Fragment 1.1.0 开始,可以使用 Fragment 测试组件提供 FragmentScenario 类,该类可以帮助在测试中实例化 Fragment...到此这篇关于AndroidX下使用Activity和Fragment的变化详解的文章就介绍到这了,更多相关AndroidX使用Activity和Fragment内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

1.7K10
领券