Android 如何从活动向碎片传递数据

2023-11-09

踩了些坑,做个笔记,方便以后看

方法一:利用碎片的setArguments()方法传递bundle

首先,先穿插一个活动间传递数据的方法:

活动间传递数据:

// 两种方法
/**
*方法一:直接使用intent提供的put方法,如putString、putputExtra之类的
*只适合传递单个数据以及两个活动间
**/

intent.putString("key", "123456");

intent.getString("key");

/**
*方法二:bundle(推荐)
*把数据封装到bundle中,十分方便,只需在活动间传递bundle即可
**/
// 活动一
Bundle bundle = new Bundle();
bundle.putString("phone", phoneNum);
bundle.putString("sub", chooseSub);
bundle.putString("score", score);
Intent intent = new Intent(getContext(), MainActivity.class);
intent.putExtras(bundle);
startActivity(intent);  // 跳转到主界面

// 活动二
Bundle bundle = getIntent().getExtras();  // 获取传递来的bundle
bundle.getString("phone");

// 一个可以将bundle内容打印到log的方法
        for (String key: bundle.keySet())
        {
            Log.d("Bundle", " key=" + key + ", value=" +bundle.getString(key));
        }

进入正题,使用setArguments()从活动传递数据到碎片:

// 活动:先对碎片进行实例化
StartFragment startFragment = new StartFragment();
startFragment.setArguments(bundle);


//碎片
Bundle bundle = getArguments();
sub = bundle.getString("sub");
score = bundle.getString("score");

注意!在碎片中,一定要在onCreatView()方法里面使用getArguments(),否则bundle为空!

方法二:直接在碎片中获取bundle

// 直接在碎片中使用这行代码获取bundle

Bundle bundle = getActivity().getIntent().getExtras();

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 如何从活动向碎片传递数据 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 使用workmanager时Firestore脱机持久性错误

    我正在使用一个WorkManger定期从我的中检索信息Firestore当应用程序处于后台和前台时的数据库 此信息用于根据状态更新 UI 因此不同的状态会添加或删除 UI 的不同部分 第一次运行时效果很好 但是 一旦应用程序处于后台并且Wo
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • Qt 富文本处理(11):表格和表格格式

    文章目录 前言 QTextTable类 QTextTableFormat类 QTextTableCell 类 QTextTableCellFormat 类 代码示例 总结 前言 富文本文档的表格相关类 QTextTable类 QTextTa
  • linux下通过.sh文件启动java程序

    http blog csdn net cnmcxiari article details 6673081 linux下通过 sh文件启动java程序 首先把java程序打成jar包 指定好主类 入口 sh文件如下 bin sh java X
  • 区块链会给医药行业带来哪些改变?

    我不是药神 上映以来好评如潮 票房大涨 是一部叫好又叫座的佳作 不仅豆瓣评分9 0 更被人民日报誉为近年来难得一见的经典电影 该片真实再现了白血病群体的生存现状 让观众对白血病患者有了深刻的认知 也将一个残酷的现实摆在面前 一场大病足以让一
  • 编译Hi3516DV300的SDK

    前言 如果您之前编译过EV200的SDK 那么您会发现 编译DV300的过程很类似 软件包直接拷贝 无需重新下载 通常在1 2个小时内能搞定SDK的编译 DV300的入门会简洁介绍 如果遇到编译错误 请你阅读EV200的编译过程和相应目录下
  • ACL 2023 :大模型的安全与可靠性、复杂逻辑查询、情感分析等

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 哔哩哔哩直播通道 扫码关注AI TIME哔哩哔哩官方账号预约直播 13 30 13 50 Yu Zhou NonSequential Graph Script Induction
  • jmap命令详解

    JVM常见命令之jmap jmap命令详解 jmap是一个很重要的命令 可以查看JVM内存使用情况 jmap帮助文档 参数解释 option 选项参数 pid 需要打印配置信息的进程ID executable 产生核心dump的Java可执
  • Linux学习笔记——例说makefile 头文件查找路径

    0 前言 从学习C语言开始就慢慢开始接触makefile 查阅了很多的makefile的资料但总感觉没有真正掌握makefile 如果自己动手写一个makefile总觉得非常吃力 所以特意借助博客总结makefile的相关知识 通过例子说明
  • Python os模块相关简介

    Python里os path isdir 等函数的作用和用法 一 用法和概念 Python里的os模块用于和系统进行交互 其里 os listdir 用于返回一个由文件名和目录名组成的列表 需要注意的是它接收的参数需要是一个绝对的路径 os
  • 使用 Docker 快速上手中文版 LLaMA2 开源大模型

    本篇文章 我们聊聊如何使用 Docker 容器快速上手朋友团队出品的中文版 LLaMA2 开源大模型 国内第一个真正开源 可以运行 下载 私有部署 并且支持商业使用 写在前面 感慨于昨天 Meta LLaMA2 模型开放下载之后 GitHu
  • C++中随机数的生成

    一 伪随机数 在C 中要生成随机数 首先要include一个文件
  • 手机屏幕测试html,华为手机屏幕检测代码是什么

    类型 系统工具大小 1 4M语言 中文 评分 10 0 标签 立即下载 华为手机很多操作代码用户记住后是可以快捷使用的 有小伙伴想要进行屏幕检测 那华为手机屏幕检测代码是什么 西西小编来为大家介绍 华为手机屏幕检测代码是什么 华为手机屏幕检
  • C语言最大子序列和三种常用解决方法

    注 看不懂评论区提问 有问必答 问题 给定K个整数组成的序列 N 1 N 2 N K 连续子列 被定义为 N i N i 1 N j 其中 1 i j K 最大子列和 则被定义为所有连续子列元素的和中最大者 例如给定序列 2 1 3 4 1
  • BGP一网双平面实验

    实验说明 1 A面 顶面 路由器在AS2 B面 底面 路由器在AS3 宁波路由器在AS1 西安路由器在AS4 2 IP设计 协议号设计如图所示 3 宁波办公路由IP 10 100 1 1 业务路由IP10 100 2 2 西安办公路由IP1
  • Windows 注册表(Registry) 学习

    目录 一 注册表 Registry 介绍 1 注册表简介 2 开启 禁用 注册表编辑器 3 注册表位置 二 注册表的结构 三 修改注册表实现 应用程序开机自启动 一 注册表 Registry 介绍 1 注册表简介 注册表是windows系统
  • 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM

    前言 DPDK 网络数据开发中文网开发中文网致力于整理收录dpdk spdk ovs vpp dpvs virtiohost sdn ovn qemu等方向 的github开源项目 资料文档 书籍 讲解视频 各大企业招聘信息 23 1 12
  • react hooks useCallback useMemo的区别

    最近在看react hooks useState和useEffect较好理解 到useCallback和useMemo的时候 看官网不太懂 后来通过查阅资料 算是搞明白了 下面实例都是基于react native 不过原理和react是一样
  • Oracle ADG自动切换脚本分享

    为大家分享一个 Oracle ADG自动切换 的脚本 由云和恩墨工程师HongyeDBA编写 支持Switchover Failover 下载链接 https www modb pro download 5 DG环境需求 DG使用服务名必须
  • Python之匿名函数lambda使用方法

    文章目录 一 lambda函数介绍 1 1 语法 1 2 特性 1 3 示例 二 结合内置函数 map filter 使用 2 1 python内置的map 2 2 python内置的filter 一 lambda函数介绍 1 1 语法 在
  • golang面试题:json包变量不加tag会怎么样?

    问题 json包里使用的时候 结构体里的变量不加tag能不能正常转成json里的字段 怎么答 如果变量首字母小写 则为private 无论如何不能转 因为取不到反射信息 如果变量首字母大写 则为public 不加tag 可以正常转为json
  • Android 如何从活动向碎片传递数据

    踩了些坑 做个笔记 方便以后看 方法一 利用碎片的setArguments 方法传递bundle 首先 先穿插一个活动间传递数据的方法 活动间传递数据 两种方法 方法一 直接使用intent提供的put方法 如putString putpu