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

    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、使用

    46920

    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

    1K11

    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需要重用或者不断切换,可以使用该方法提高性能。

    58170

    Android中的Fragment使用

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

    48630

    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

    64810

    【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

    99820

    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对象会被销毁,(

    1K100

    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

    1.2K20

    你真的会用Fragment了么?-Fragment解析

    我们可以唉Activity中随意的使用Fragment,当你的一个界面业务逻辑很复杂的时候,我们可以将逻辑写到Fragment中,这样就不必在Activity写一堆控件的事件处理的代码了,Fragment...Fragment使用 Fragment使用分为两种:静态和动态 静态使用Fragment 所谓静态使用指的就是将自定义的Fragment写到xml布局文件中,利用标签定义Fragment 有三种方法为Fragment提供ID:   android:id属性:唯一的id   android:tag属性:唯一的字符串   如果上面两个都没提供,系统使用容器...动态使用Fragment 动态使用Fragment就是手动在代码中添加、更新、删除Fragment。...下面我们来看一下在使用Fragment时遇到的那些坑吧: 对于FragmentManager我们应该知道它的作用,它用来维护Fragment队列,以及Fragment事务的回退栈。

    1.5K10

    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.6K30
    领券