安卓漫漫路之碎片Fragment不同包下的区别.

Android Fragment的一些使用细节 作为Android基本组件之一,介绍Android Fragment基本用法的文章已经非常多了,但是Fagment在使用时有很多的细节需要注意。文本主要列举Fragment在使用时需要注意的各种细节。 阅读详情

Fragment简介: (碎片)


在最初的时候,咱们如果要想显示多个布局,只能创建多个activity跳转来达到咱们想要的效果.但是Fragment控件出来之后,果然不负众望.他使一切变的美好华丽又简单,咱们可以认为Fragment就是Activity的一个界面的一个组成部分(必须依存于Activity,因此Activity的生命周期会直接影响到Fragment的生命周期).当Activity写好帧布局之后,咱们就可以创建咱们想要的Fragment布局来填充到Activity中来展示.并且可以通过控制FragmentTransaction(Fragment事务管理者,得到FragmentManager之后通过fm.beginTransaction()得到)提交不同的事务来动态的添加,替换和移除某个Fragment.达到展示多个布局的效果.
Activity的界面可以有完全不同的Fragment组成,并且Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了.


Fragment有两个包:android.support.v4.app.fragment包和android.app.fragment包

功能都是一样的,但是有些API是有区别的,例如: 

-----------------------------------------------------------------------------------------------------------------------

其一: 手机系统版本区别:

· android.support.v4.app.fragment包是为可以向下兼容至1.6系统.

· android.app.fragment包是3.0系统以后的才能使用的,不过这也无所谓了,随着人们对科技不断的追求,NDK研发人员不断的努力,系统会越来越高越来越好.16年10月份左右7.0都开始公测了. 

-----------------------------------------------------------------------------------------------------------------------
其二: 管理Fragment的主Activity区别:

· android.support.v4.app.fragment包下的需要继承FragmentActivity,否则(java.lang.ClassCastException)

· android.app.fragment包下的照样继承Activity

-----------------------------------------------------------------------------------------------------------------------
其三: 对FragmentManager的获取区别:

· android.support.v4.app.fragment包下需要使用getSupportFragmentManager()来获取管理,代码如下:

  FragmentManager fm = getSupportFragmentManager();

· android.app.fragment包下需要使用getFragmentManager(),如下:

  FragmentManager fm = getFragmentManager();
-----------------------------------------------------------------------------------------------------------------------
其四: 强调FragmentTrancation.commit:

简介: 熟悉数据库的同学都知道,事务指的就是一种原子性、不可拆分的操作。所谓的Fragment事务就是:对Fragment进行添加、移除、替换或执行其它动作,提交给Activity的每一个变化。这就是Fragment事务。

通过FragmentManager.beginTransaction()我们可以开始一个事务。
在事务中,我们可以对Fragment进行的操作以及对应的方法如下:
添加:add()
移除:remove()
替换:replace()
提交事务:commit()
上面几个是比较常用的,还有attach()、detach()、hide()、addToBackStack()等方法。
我们需要注意的是,Fragment以ID或Tag作为唯一标识,所以remove和replace的参数是Fragment,这个Fragment目标Fragment一致(必须是相同的包,否则会编译时异常)。

------------------------------------------------------------------------------------------------------------------------




如有问题请多指正,您的指正使我更我正确的前行.



android之Fragment 目录 一Fragment的简介和生命周期: <1> Fragment的简介 <2> Fragment的生命周期 二将Fragment添加到Activty中使用 <1>概述 <2>使用不兼容方法将Fragemnt添加到Activity中使用 <2.1>不兼容方法... 阅读详情

相关推荐

Keil5实战:如何高效导出变量数据并实现可视化分析

本文详细介绍了在Keil5开发环境中,如何利用调试脚本高效导出程序运行时变量数据的方法。通过编写脚本自动捕获数据并保存为文件,再结合Excel或Python进行可视化分析,为嵌入式调试与算法优化提供了数据支撑,显著提升开发效率。

silver的专栏 1104

app包中的fragment和v4包中的fragment的使用的区别

app包中的fragment和v4包中的fragment的使用的区别 1、尽量不要用app包中的fragment,因为这个是在3.0之后才有的,支持的版本太高,在低版本中是是用不了的 2、android.support.v4.app.Fragment:可以兼容到1.6的版本, 3、关于这两个fragment使用标签的问题  (1)app.fragment和v4.fr

a465456465的专栏 4万+

Obsidian免费同步全攻略:手把手教你用OneDrive+Remotely Save插件跨设备同步笔记

本文提供了一份详细的Obsidian免费同步方案指南,核心是利用OneDrive云存储与Remotely Save插件实现跨设备笔记同步。文章手把手教学,涵盖插件安装、OneDrive授权配置、桌面端与移动端的同步设置,并解答了常见问题,帮助用户在不依赖官方付费服务的情况下,构建稳定、自主的免费同步工作流。

bash7scripter的博客 849

搞清android.support.v4.app.Fragment和android.app.Fragment区别

(1)android.app.Fragment:兼容的最低版本是android:minSdkVersion=”11”因此你的应用不能兼容3.0以下的应用。可以使用标签的,这点很重要,如果是用android.support.v4.app.Fragment的话,是不能是用标签的,会抛出android.view.InflateException: Binary XML file line #7: Erro

我的代码我做主的博客 2107

计算机网络-自顶向下方法 第三章课后习题答案(第七版)

复习题 R1. a) 就叫这个协议为简单传输协议STP(Simple Transport Protocol)。在发送方,STP从发送进程接收不超过1196字节的数据块、目标主机地址和目标端口号。STP向每个块添加一个4字节的头,并将目标进程的端口号放在头中。STP然后将目标主机地址和结果段提供给网络层。网络层将段交付给目的地主机的STP。目的主机基于STP检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。 b) 在发送方,STP从发送进程接收不超过1192字节的数据块、目标主机地址和目标端

Erekilu的博客 2万+

矿卡CMP 170HX的AI推理性能优化实战

GPU计算在现代AI推理中扮演着核心角色,其并行计算架构特别适合处理神经网络的大规模矩阵运算。通过CUDA指令集优化和计算管线重构,可以显著提升硬件利用率,这在边缘计算和带宽敏感型任务中尤为重要。以NVIDIA CMP 170HX矿卡为例,通过禁用FMA指令和框架适配优化,其FP32性能可提升15.9倍,在Qwen2.5-1.5B模型的4-bit量化推理中达到A100同架构78%的解码速度。这种优化技术不仅让淘汰矿卡重获新生,更为边缘AI部署提供了高性价比解决方案,特别适合7B以下量化模型部署和多路视频分析

weixin_30432579的博客 629

Fragment篇——FragmentManager分析及用例

说到管理Activity中的Fragment,自然就要重点说一下FragmentManager

u012241729的专栏 9758

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5350

Fragment的导包问题和相关注意点

Fragment导包相关注意点以及基本用法

jonsnoww的博客 907

扩散模型中的UNET

一、为什么UNET模型可以用于去噪网络 二、扩散模型中的UNET是一个条件去噪网络,怎么实现的 三、UNET用于分割和用去去噪的区别

m0_37737957的博客 3816

学习STM32的DS18B20温度传感器

该函数首先复位传感器,然后发送跳过ROM命令和转换命令,并等待转换完成。接下来,它再次复位传感器,发送跳过ROM命令和读取温度命令。最后,它读取温度值的最低字节和最高字节,并将其组合成16位温度值。传感器的VCC引脚连接到STM32的3.3V电源,GND引脚连接到GND,而数据引脚连接到任何一个IO引脚。需要注意的是,示例代码中使用了一个简单的延时函数来等待转换完成。实际上,您可能需要使用定时器或其他更精确的延时方法来实现更准确的延时。下面是一个示例代码,演示如何读取DS18B20传感器的温度值。

m0_75244442的博客 1182

Android app包下fragment详细使用

之前一直没有使用过fragment,去年年底的时候需要改一个项目,接触到了fragment。也没有对fragment进行系统的学习,就开始动手改了,边改边学,现在闲下来了,对fragment进行一些总结。 什么是Fragment? Fragment与Activity的区别 Fragment的生命周期 Fragment的简单使用 Fragment的回退栈 1.什么是fragment? 对于fra...

weixin_44059750的博客 5689

使用FPGA实现MIPI DSI接口

通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。在本文中,我们将探讨如何使用FPGA实现MIPI DSI接口,并提供相应的源代码。根据不同的发送状态,我们设置相应的输出信号。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。

ZdqDeveloper的博客 1698

Android开发瓶颈突破指南:从环境搭建到架构优化的实战路径

在移动应用开发领域,Android系统以其开放性占据重要地位,其技术栈的复杂性常使开发者面临多重瓶颈。从构建工具链的配置原理入手,理解Gradle依赖管理与版本兼容机制是项目稳定的基础。掌握性能优化技术,如内存管理与渲染管线分析,能显著提升应用流畅度与用户体验。这些核心能力在电商、社交等高频应用场景中至关重要,直接关系到用户留存与业务增长。本文聚焦Android开发中的典型挑战,通过剖析RecyclerView优化与架构模式选型等热词,为开发者提供从环境调试到系统底层的系统性突破方案。

weixin_30911451的博客 370

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android基础篇之浅谈Fragment(app包)

这里是用app包写的fragment,因为app包比v4包跟简单 ,也跟容易理解

JonsonBob的博客 1390

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

不同包下Fragment问题

1、尽量不要用app包中的fragment,因为这个是在3.0之后才有的,支持的版本太高,在低版本中是是用不了的2. (1)、v-4包下支持的Fragment (2)、app包下的Fragment, 这两个包下的FragmentManager获取方式有点区别,所以大家在运用的过程中,一定要注意自己的导的包。app包下FragmentManager用: Fragmentmanager fra

zb_tjw的博客 395

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Android实习札记(3)---Fragment用app包还是v4包解析

Android实习札记(3)---Fragment用app包还是v4包解析 1)问题简述 相信很多的朋友在调用Fragment都会遇到下面的情况: 这个时候问题来了... 到底是用android.app下的Fragment还是用的android.support.v4.app包下的Fragment? 答:其实都可以,没错,都可以!!!我们都知道F

代码拾荒者 782

Android Fragment完全解析,关于碎片你所需知道的一切

转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/8881711 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界...

runfeel 1501

app包中的fragment和v4包中的fragment的使用的区别 发布: 2014-02-17 11:21  | 来源:网络整

转自:http://www.nqwang.com/2014/0217/89128.html app包中的fragment和v4包中的fragment的使用的区别,有需要的朋友可以参考下。 1、尽量不要用app包中的fragment,因为这个是在3.0之后才有的,支持的版本太高,在低版本中是是用不了的 2、android.support.v4.app.Fragmen

桥下西河院的专栏 1679

Scrapy中extract_first()和extract()的区别

测试用到的爬取网站 In [11]: print(response.xpath('//h3/a/@title')) # scrapy.selector.unified.SelectorList 是Selector组成的列表 Out[11]: # 为了方便阅读换行符我手打的 [<Selector xpath='//h3/a/@title' data='A Light in the Attic'>, <Selector xpath='//h3/a/@title' data='Tippin

weixin_41998371的博客 985

fragment中添加fragment与activity中添加fragment的不同

activity中添加fragment FragmentTransaction transaction=getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container,rentFragment).commit(); 或者transaction.add(R.id.fragm

难不难的博客 1661

Android中fragment与activity的区别与联系

首先:activity作为四大组件之一,但是fragment主要为了适配平板等设备,在Android3.0之后出现的。 区别之一:fragment是需要依附于activity存在的,可以通过getActivity()方法获取当前的activity既宿主activity,                   fragment 可以作为控件,直接写到xml中,但是activity则是写到配置文件中...

weixin_37166398的博客 7349

android fragment activity 区别,activity和fragment的区别

DIEA1.fragment显得更加灵活。可以直接在XML文件中添加,Activity则不能。eg:2.可以在一个界面上灵活的替换一部分页面,活动不可以,做不到。替换的时候注意要将这个fragment放在返回栈上。3.fragment和Activity之间的通信:(也就是控件的相互操控)fragment控制fragment:得到一个Activity,然后通过这个Activity的getFragme...

weixin_33328904的博客 1789

Android开发之Fragment基本总结

Android开发之Fragment基本总结 1.Fragment的基本原理: Fragment的用法主要是那些? 1.可以利用Fragment实现“选项卡切换”和“底部导航栏”页面切换; 2.Fragment是在Android3.0引入,主要为了大屏幕安卓设备UI展示问题;通俗点理解就是一套UI布局自适应不同屏幕大小的安卓设备,而不用针对不同设备另外开发一套UI布局; 如上图所示布...

u012475786的专栏 1017
上一篇: 安卓漫漫路之可移动的按钮.
下一篇: 安卓漫漫路之Echarts显示k线图.
谷哥的炊事班班长
博客等级 码龄10年 18粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值