静态,动态使用Fragment的讲解。

Android学习|Fragment__01静态、动态添加Fragment 什么是Fragment 1:具备生命周期 Fragment有生命周期,那么在一个activity可以使用多个Fragment,或者一个Fragment在多个activity 中重复使用,来完成一些效果 2、必须委托在activity中才能运行 则一个activity暂停,其中包含的所有的Framgment都会暂停 动态添加Fragment ... 阅读详情

Fragment:是一种可以嵌入在Activity中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板和目前的大屏手机上应用的非常广泛(只要屏幕大,都会用到Fragment)。
下面我们就来看看Fragment静态和动态动态的使用。
一.静态使用Fragment:
把Fragment当成普通的控件,直接写在Activity的布局文件中。
思路: 1:在MainAcitiviy下创建fragment管理器,
2:通过fragment管理器找到FragmentA类
3:执行FramentA类下面的方法。
步骤
1:创建一个Fragment类,继承Fragment,v4包
2:FragmentA类重写fragment中的onCreateView方法, 新建一个布局fragment_a,使用fragment加载器生成view并返回。
3:在MainActivity的布局文件中添加fragment标签,添加FragmentA的包名。
4.在MainActivity中通过布局管理器找到找到name,实现静态加载Fagment。
代码展示:
1.MainActivity的代码:

public class MainActivity extends AppCompatActivity {

    private Fragment fragment;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //fragment管理器
        FragmentManager manager = getSupportFragmentManager();
        fragment = (FragmentA) manager.findFragmentById(R.id.fragment_a);
        //1 创建fragment管理器,2:通过fragment管理器找到FragmentA类,3执行Frament类下面的方法
    }
}

2.Fragment类的代码:

public class FragmentA extends Fragment {//用v4包,和Activity的生命周期一样
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
       //参数1布局管理器2:父容器 3当为true的时候表现需要将生成的view依附到父控件中,反之。    
     return inflater.inflate(R.layout.fragment,container,false);
    }

3.MainActivity布局文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <fragment
        android:id="@+id/fragment_a"
        android:name="com.example.administrator.a17_fragment.FragmentA"
        android:layout_width="match_parent"
        android:layout_height="200dp"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/bttona"
        android:text="调用fragmwntA"/>
</LinearLayout>

二:动态使用Fragment:在程序运行时向Activity动态添加Fragment。

代码展示:
1、创建2个Fragment类(如果想兼容3.0以前的版本,也必须使用V4包中的),两个布局,进行切换演示。

public class FragmentA extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {         
   return  inflater.inflate(R.layout.fragment_a, container, false);;
    }

}

2、使用Activity的getSupportFragmentManager() .beginTransaction();获得FragmentManager对象.
3、调用事务的一系列方法,达到切换Fragmen界面的效果。

public class MainActivity extends AppCompatActivity {
    private FragmentA fragmentA;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fragmentA = new FragmentA();
        //1通过开始事务来获取事务对象
        final FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction();
        //2通过add方法将容器和fragment进行绑定
        transaction.add(R.id.fragment_layout,fragmentA);
        //3提交事务(没有此句,则前面的代码无效)
        transaction.commit();
        //4 替换view
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
                //将FragmentA从容器中移除掉,减少内存的消耗
                fragmentTransaction.remove(fragmentA);
                fragmentTransaction.add(R.id.fragment_layout,new FragmentB());
                fragmentTransaction.commit();
            }
        });

    }
}
【Android笔记17】Android里面Fragment的使用 Fragment中文名称翻译为碎片。Fragment可以减少重复代码,一个Fragment可以在多个不同的Activity页面里面进行引用,一个Activity页面里面也可以引入多个不同的Fragment,通过使用Fragment组件,可以很大程度上减少重复代码,提高代码的重用性。使用Fragment需要创建一个类,这个类需要继承自androix.app.fragment包下面的【Fragment】类,并且重写其中的【onCreateView()】方法。@Nullable。... 阅读详情

相关推荐

Android Fragment使用与实践教程

本文还有配套的精品资源,点击获取 简介:Fragment是Android平台中的一个可复用UI组件,它独立于Activity存在,但通常与Activity协同工作以构成复杂的用户界面。本demo展示如何在Android应用中高效使用Fragment,并涵盖Fragment的生命周期、与Activity的交互、通信机制、事务管理、状态保存及恢复、嵌套使用和动画效果。 ...

weixin_32311823的博客 1217

Android开发之Fragment知识总结

这是一篇自己很早总结的,一直在笔记里存着,再放都发霉了,拿出来晒晒。 手机从塞班时代百花争艳到乔布斯的方块范畴,再到现在的不到不小的16:9,然后就是华为、三星的折叠系列,不出意料未来的手机又会到一个个性化高峰。这些对于我们开发者又是一个里程碑的挑战,以前我们只需要维护好一个页面,现在为了实行多样化需求,我们要尽可能在单个页面上做更多的碎片处理。 Fragment的生命周期(对比Activity...

乂星人 1971

KAN神经网络实战:如何用Python快速搭建你的第一个可解释性模型

本文提供了使用Python和PyTorch快速搭建首个KAN(Kolmogorov-Arnold Networks)神经网络模型的实战指南。通过对比传统MLP,详细解析了KAN利用可学习的边函数实现更高可解释性的核心原理,并逐步演示了从环境配置、数据准备、核心模块实现到模型训练与可视化的完整流程,帮助开发者掌握这一新兴的可解释性AI模型构建方法。

convnet3designer的博客 473

Fragment动态加载案例

在Activity中动态加载Fragment步骤(1)、创建一个Fragment对象(2)、获取FragmentManager的实例(3)、开启FragmentTransaction事务(4)、向Activity的布局器(一般为FrameLayout)中添加Fragment(5)、通过commit()方法提交事务案例:简易的点菜界面效果图: activity_main: 右边的菜列表 FoodFragment代码: food_menu: food_item:

A125679880的博客 2315

新手必看:Infineon Memtools烧录配置全流程(附常见错误解决方案)

本文为嵌入式开发新手提供了Infineon AURIX开发环境搭建与Memtools烧录的全流程实战指南。详细解析了ADS、DAS和Memtools三大核心工具的角色与协同关系,并重点讲解了Memtools的图形界面配置步骤、烧录操作流程,以及针对“无法连接设备”、“编程失败”等常见错误的系统性排查与解决方案,帮助开发者快速上手并规避典型陷阱。

weixin_29189377的博客 634

Cesium实战:5分钟搞定离线地图与地形加载(附避坑指南)

本文详细介绍了Cesium在内网环境下的离线部署实战方案,重点解决了影像与地形数据的本地加载问题。通过逐步指导项目配置、本地瓦片与自定义地形数据的处理,并优化相机控制体验,帮助开发者快速构建安全、高效的三维地球应用,避免常见的401错误与加载失败陷阱。

weixin_30632089的博客 281

Fragment相关知识点及使用(一)

一、Fragment的静态使用 1、根据需要创建Fragment 1.1创建子类继承Fragment 1.2重写onCreateView()方法,为Fragment设置xml文件,转换成view对象返回 2、在activity布局中,通过标签引入fragment android:name=”fragment的包名.类名” 在activity布局文件中设置如下: <?xml version="...

xuyin1204的博客 862

用 Custom Entity 打造 RAP Value Help:从能跑到好用的深度踩坑笔记

本文介绍了在RAP项目中实现Value Help(Fiori输入帮助)的完整流程。通过Custom Entity方式,开发者可以灵活构建不依赖数据库实体的值帮助功能,但需手动实现CDS原本提供的过滤、排序、分页等能力。文章以一个典型场景为例,详细说明了如何为Partner维护界面的City字段创建可搜索的值帮助,包括创建查询实现类、绑定CDS Custom Entity、服务发布等关键步骤,并特别指出了处理排序分页请求等常见问题。最后强调在ABAP Cloud环境下需要自行实现查询能力,而非依赖传统工具类。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 134

动态Fragment

实现的效果图: 实现效果:点击按钮显示按钮对用的fragment,隐藏上一个fragment但不会初始化,隐藏的fragment在重新显示时直接显示,不用重新加载。 实现了动态fragment步骤: V4包下获取布局管理器是getSupportFragmentManager()。 app包获取布局管理器是getFragmentManager();因为V4包比APP包的版本新

天高任鹏飞 632

【测绘程序设计】——潮汐调和分析

最小二乘潮汐调和分析源码、使用示例及数据

C_xxy's blog 2652

【x265编码器】章节6——x265的码率控制

对于CRF模式而言,右边这部分是是固定值m_rateFactorConstant,在初始化的时候确定,跟分辨率,qCompress这个参数是外部可设参数,默认值0.6,因此QP的选择只跟编码复杂度有关,跟码率无关,编码复杂度越高,QP值越高,因此可以一定程度上说CRF模式是恒定质量的编码模式。其中Complex表示当前帧的编码复杂度,x265中用lookahead模块计算的SATD作为衡量当前帧的复杂度,c为模型参数,qscale是率失真优化中的拉格朗日乘子,R为编码当前帧需要的比特数。

vcvdv123的博客 1万+

【Android】Fragment的基本用法、Fragment和活动间的通信、Fragment的生命周期、动态加载布局的技巧

Fragment的基本用法、Fragment和活动间的通信、Fragment的生命周期、Fragment的四种状态和回调、动态加载布局的技巧

摸鱼小小虫的博客 5984

wflow模型hbv

毛管水的处理 😄 快速流的处理 K4是为了产生基流的 找到了令人激动的kenematic模块 😄

m0_46268055的博客 777

Android静态和动态注册Fragment

Fragment一般只占据一小块地方(比如下面的广告),但是它有自己的生命周期(可以试试重写那些方法来观察一下),下面是静态注册和动态注册使用Fragment的例子。 创建自己的Fragment,如MyFragment。布局和代码如下。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi...

‎‎‎‎‎不想吃泡面 658

Vue3 - Element Plus 日期选择器 el-date-picker,设置 type=week 变成周选择器后,将选择周时修改为 “周一至周日“ 为一组范围(详细示例代码,新手小白秒会)

vue3,element-plus,DatePicker日期选择器,el-date-picker,周,type=week,周选择器,日期选择器week怎么拿到具体的时间范围,如何取week周选择器的value值,format如何设置,时间选择器按周选择时展示具体日期范围,vue3elementPlus日期选择器选择一周7天的数据格式怎么拿到,el-date-picker设置type等于week后怎么设置format属性,format和value-format怎么设置,范围选择器周,一周,选择一周7天时间

🏆 前端领域优质创作者 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android进阶——Fragment的静态与动态加载

学会使用Fragment的静态加载与动态加载 (一)fragment的概念: Fragment是一种在Android3.0开始引入新的API技术,在Activity中将UI组件进行分组和模块化管理,而分组后的UI组件就是Fragment。 (二)为什么使用Fragment 一个Activity页面中可以包含多个Fragment模块,而同一个Fragment模块也可以被多个Act...

qq_41183047的博客 4927

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Fragment简介和使用实例

转载请注明出处:http://blog.youkuaiyun.com/yegongheng/article/details/22811157 Fragment 是什么        今天我们来学习一个比较重要的组件--Fragment。Fragment在应用开发中应用得非常的频繁,特别是在开发一些需要兼容手机设备、平板设备和智能电视等大屏幕设备的应用,Fragment发挥着重要的作用。那说了这么多

叶功恒的博客专栏 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Fragment基本使用

阅读目录 1. Fragment概述 1.1 介绍 1.2 Fragment基本生命周期 2. Fragment使用 2.1 静态加载 2.2 动态加载Fragment 2.3 使用注意点 3. Fragment与Activity联动 3.1 回退栈 4. Fragment与Activity通信 4.1 传递数据给Fragment 4.2 传递数据给Activity 5. Fragment间通信 5.1 setArguments() 5.2 同Activi

chuyouyinghe的专栏 4985

静态加载Fragment

1、Fragment知识概要 Android3.0引入了Fragment,主要目的是用在大屏幕设备上,支持更加动态和灵活的UI设计。Fragment在你的应用中应当是一个模块化和可重用的组件,因为Fragment定义了它自己的布局,以及通过使用它自己的声明周期回调回调方法定义了它自己的行为,可以将Fragment包含到多个Activity中。 (1)Fragment可以作为Activity界面的一...

MX_XXS的博客 270

大白话讲懂Fragment的简单使用

今天初步接触了一下Fragment(虽然之前也详细学过,但是不知道怎么回事,我写的那篇博客找不到了。算了,无所谓,隔了这么久我也忘得差不多了)做个记录。 这一次只是一个粗略的学习,后面肯定还会系统的总结一下的。 一.Fragment是啥 简单点理解,别想太复杂,Fragment可以理解为一个小型的Activity。就这么简单。 二.为啥要用Fragment? 我们脱离程序,举个形象点的例子。就拿画画来说。比如有一面墙,然后让你画画。你有两种选择。 第一:拿着画笔直接在墙上画。 第二:用一张纸片,纸片用画框框

Android小白 428

Android Fragment 真正的完全解析(上)

Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。

2501_90228871的博客 1107

Android学习之Fragment的使用

  在Android 3.0之前的版本,通常程序运行在较小屏幕的设备上,随着技术的发展,Android开始支持平板电脑,相比手机大了很多,若还是像手机那样只显示联系人列表,显的操控不够自然,同时也不能很好地体现大尺寸屏幕的优点。手机程序是通过不同的窗口显示不同级别的信息,而平板电脑程序会尽可能利用当前界面的显示更多的信息。对于同时适应手机和平板电脑的APK程序比较麻烦,为了解决这个问题,就需要一种...

明昕ztoy的博客 360

android的fragment用法,Android Fragment用法知识点的讲解

Android Fragment用法的讲解碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。Fragment的出现,如微信的额主界面包含多个Fragment,使得微信功能更加简洁明了。Fragment组件Fragment是Android 3.0的时候被引入的,主要目的是为了给大屏幕(如平板电脑)添加动态和灵活的UI支持。利用Fragment实现更好的用户体验。Fragment加载静...

weixin_29454359的博客 1574

Android 之 Fragment 篇

最近在学Android,在学习的过程中多少总是遇到很多问题,我希望后面学习的朋友能少走点弯路。 本节讲的是Fragmnet篇。本文由简单到一般。 导入fragment的时候会有两个包,记得选v4的,因为v4的兼容性很好。 一、静态添加Fragment 1、实现一个Activity中显示两个平分的Fragment。 a、创建两个新的Activity:left_fragment和right_fragm...

张晨曦 的 博客 582

Android课程——fragment的使用(一)

在Android初级课程中,对fragment的认识仅限于是一个碎片,在高级课程第一课中,便深入认识fragment。下面我简单谈一下学习fragment之后对于fragment的认识。 1、fragment简介 什么是fragment?使用fragment有什么好处? fragment是一个可以将activity拆分成几个完全独立封装的可重用的组件。基于android系统的设备越来...

huihuidiling的博客 436

Android Fragment 的基本使用

转载请注明出处:    https://mp.youkuaiyun.com/postedit/80368582 记得第一次接触Fragment,觉得好牛叉的组件,可以做许多Activity可以做的事,辅助Activity让功能可以做得更加强大;一次编写,可以多个地方可以使用,解放了Activity。在这里,本篇文章主要是总结fragment的基本使用以及使用过程中容易出现的错误;   说了这么多,那么到底...

junkai_L 6413
上一篇: HttpURLConnection下载数据,JSON解析数据, BaseAdapter 适配数据。
下一篇: ViewPager的基本使用
Allen-华
博客等级 码龄11年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值