位置: 编程技术 - 正文

Android:Activity+Fragment及它们之间的数据交换(一)

编辑:rootadmin

推荐整理分享Android:Activity+Fragment及它们之间的数据交换(一),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

简介:

为什么要用Fragment?使用Fragment可以在一个Activity中实现不同的界面。Fragment与Fragment之间的动画切换,远比Activity与Activity之间的动画切换变化方式多。很多时候,我们通过使用一个Activity,切换多个Fragment。本次博客,主要列举一下Fragment与它的Activity之间进行数据交换的方式。

1.Fragment中通过getActivity()然后进行强制转化,调用Activity中的公有方法

((XXXXActivity)getActivity()).fun();

2.Activity在切换Fragment的时候,通过setArguments向Fragment传递参数,Fragment通过getArguments();获得从activity中传递过来的值

3.Activity实现一个接口,Fragment在onAttach方法中,将该Activity转化为该接口,在需要调用的时候回调。

注意:本Demo是通过FragmentManager来管理Fragment的,通过FragmentManager管理,我们创建Fragment和销毁Fragment的时候,可以通过栈的方式:

a.FragmentTransaction的add方法,添加一个Fragment

b.FragmentTransaction的popBackStack()弹出该Fragment

演示实例:

fragment1.xml

MyFragment1.java

fragment2.xml

Android:Activity+Fragment及它们之间的数据交换(一)

MyFragment2.java回调接口:

main.xml

MainActivity.java

初始画面

切换到第二个Fragment之后,通过Fragment2回调,改变按钮背景后的截图。

注意:

1.直接在Fragment中通过getActivity然后强转Activity的方式调用Activity的方法,这个方式不推荐!因为这会使Fragment的适配性变差。

解决方法:在使用之前,使用instanceof 判断一下Activity的类型

2.FragmentTransaction通过使用setCustomAnimations方法,可以为Fragment的切换增添各种不同的动画。变化方式远比Activity与Activity之间的切换动画要多。

3.多个Fragment之间,可以通过Activity复用很多代码,提高效率。

4.我们还可以通过ViewPager来管理Fragment,通过Adapter添加多个Fragment,然后通过setcurrentitem进行切换。我们同样可以通过setArguments向Fragment传递数据。

android:json解析的两个工具:Gson和Jackson的使用小例子 1.简介json是android与服务器通信过程中常用的数据格式,例如,如下是一个json格式的字符串:{address:Nanjing,name:NUPT,students:[{name:stu1,id:,age:},{name:stu1,id

Android:仿手机QQ好友动态的ListView 1.介绍:本博客使用XListView模仿Android版QQ好友动态的ListView效果。效果截图如下:效果图1效果图2这里面主要涉及的是ListView的布局问题,让我们看一下Ite

android中图型的阴影效果(shadow-effect-with-custom-shapes) 思路:在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top,bottom,right和left四

标签: Android:Activity+Fragment及它们之间的数据交换(一)

本文链接地址:https://www.jiuchutong.com/biancheng/371341.html 转载请保留说明!

上一篇:android中TextView的SpannableString小结(android textview设置字体)

下一篇:android:json解析的两个工具:Gson和Jackson的使用小例子(android.json)

  • 自己房子出租发布信息
  • 增值税发票查验平台怎么查询发票
  • 增值税留抵注销时怎么办
  • 补缴税款的会计怎么做账
  • 核定征收可以无发票做账吗
  • 广州二手房免增值税
  • 可以向国外账户汇人民币吗
  • 出口退税自查中的“四自三不见”是指什么
  • 国际船舶代理是什么意思
  • 公司购车按揭利息可以开票吗
  • 公司注销时认缴不到位怎么办
  • 城建税及教育附加税怎么算
  • 固定资产清理科目怎么结转
  • 钉钉报销费用明细怎么写
  • 免税销售额是否计入成本
  • 海运增值税率
  • 本期销售额未达起征点请将本期应纳税额
  • macbook pro怎么检测
  • 税金及附加怎么登明细账
  • 光伏电站运维费用清单
  • 员工垫付款怎么做分录
  • 简易计税 科目
  • linux acl配置命令
  • linux系统应对攻击的常用防御手段的描述
  • vue浏览器版本
  • 事业单位在建工程会计账务处理
  • 实收资本主要包括哪些
  • vite搭建项目
  • 约当产量法的会计分录
  • 高新企业技术服务成本核算
  • 财务处理的时候要做什么
  • mysql集群三种方式
  • html怎么用java
  • php判断链表是否有环
  • aes加解密工具
  • 二手车征税税率减按多少税
  • 销售产品的包装费
  • 卖家运费险是不是退货免费
  • 社保退回的款怎么继承
  • 出纳把现金存入私人账户后转公账
  • mysql外键约束的基本语法结构
  • MySQL发生系统错误2和5
  • 想买微波炉
  • 关于种植养殖的手抄报
  • 结汇时和月底结转汇兑损益
  • 购买税控盘的费用怎么抵减
  • 村集体经济组织架构
  • 预付账款怎样做会计分录
  • 成本结转的方法实例
  • 审计备案表
  • access数据库导入到sqlserver
  • windows 10预览版
  • 扩展卷不相邻怎么办
  • ubuntu系统安装教程详细
  • win7不能复制文件怎么办
  • win8系统忘记电脑开机密码怎么办
  • ubuntu系统安装程序
  • xp开机启动项在哪里设置方法
  • win8 系统设置
  • mmtraylsi.exe是什么进程 有什么作用 mmtraylsi进程查询
  • win7网页显示不全
  • Win10 Mobile 10586.36预览版怎么更新?
  • linux vi中查找内容
  • sendmail邮件服务器的配置
  • win7其他设备
  • 简述android多线程编程的实现方式
  • apk防止反编译
  • 易信安卓手机版
  • node.js和go
  • Python+Wordpress制作小说站
  • jquery添加删除属性
  • linux shell函数
  • vue分页查询
  • python科学计算基础教程
  • js中变量有哪几种?分别在哪里定义?
  • javascript学习指南
  • Android调用系统的电话拨号程序
  • js按下回车键时提交
  • 自用的房产怎么交房产土地税
  • 三免三减半是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设