当前位置: 首页 > news >正文

【Android】使用intent.putExtra()方法在启动Activity时传递数据

食用方法

在Android中,你可以使用Intent对象来在启动Activity时传递数据。以下是一个示例,展示了如何在startActivity时传递数据到被启动的Activity:

  1. 在启动Activity的地方,创建一个Intent对象,并使用putExtra()方法将数据添加到Intent中。例如,要传递一个字符串数据,可以使用以下代码:
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
intent.putExtra("key", "Hello, World!");
startActivity(intent);

在这个例子中,我们将字符串 “Hello, World!” 放入了Intent中,并使用 “key” 作为键。

  1. 在被启动的Activity中,通过getIntent()方法获取传递过来的Intent,并使用getStringExtra()或者其他相应的get方法来获取传递的数据。例如:
Intent intent = getIntent();
String data = intent.getStringExtra("key");

在这个例子中,我们通过getStringExtra()方法取出了传递过来的字符串数据,并将其存储在data变量中。

  1. 现在,你就可以在被启动的Activity中使用获取到的数据了。

这是一种简单的方式来在启动Activity时传递数据。你可以根据实际情况,传递不同类型的数据,例如整数、布尔值、序列化对象等。只需要使用相应的putExtra()get方法即可。


实战案例

在这个案例中,我们将动物的id作为字符串数据传递到EditActivity中,并在EditActivity中将其转换为整数类型,然后使用该id来获取对应的动物信息。

在OnClickListener中,创建一个Intent对象,并使用putExtra()方法将数据添加到Intent中:

@Override
public void onClick(View view) {Intent intent = new Intent(view.getContext(), EditActivity.class);intent.putExtra("id", animal.getId());view.getContext().startActivity(intent);
}

在EditActivity中,通过getIntent()方法获取传递过来的Intent,并使用getIntExtra()方法获取传递的数据:

Intent intent = this.getIntent();
Integer id = intent.getIntExtra("id", 0);
Call<Result<Animal>> call = animalApi.getById(id);

你可以根据你的具体需求,适当修改代码来传递和获取不同类型的数据。

相关文章:

  • 231204 刷题日报
  • 学习使用三个命令实现在腾讯云服务器TencentOS Server 3.1或者CentOS 8上安装ffmpeg
  • WPF绘制进度条(弧形,圆形,异形)
  • 通达OA inc/package/down.php接口存在未授权访问漏洞
  • ?.的用法
  • 如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
  • TCPDUMP抓包明确显示IP地址和端口号
  • Blender学习:荧光树桩
  • Affinity VS PS 2024最新功能详细对比?Affinity Photo与Photoshop比哪家强?
  • Unity中Shader指令优化(编译后指令解析)
  • 算法与数据结构(二十五)TopK问题:基于快排的Python模板
  • 使用正则表达式时-可能会导致性能下降的情况
  • 文字处理工具Word mac软件特点
  • 【LeeCode】438.找到字符串中所有字母异位词
  • Opencv获取笔记本摄像头
  • [LeetCode] Wiggle Sort
  • 【技术性】Search知识
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • CentOS7 安装JDK
  • DataBase in Android
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • exports和module.exports
  • FastReport在线报表设计器工作原理
  • java8 Stream Pipelines 浅析
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JSDuck 与 AngularJS 融合技巧
  • Mysql数据库的条件查询语句
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Redux系列x:源码分析
  • Spring框架之我见(三)——IOC、AOP
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • ubuntu 下nginx安装 并支持https协议
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • Hibernate主键生成策略及选择
  • 积累各种好的链接
  • 如何用纯 CSS 创作一个货车 loader
  • 昨天1024程序员节,我故意写了个死循环~
  • ​secrets --- 生成管理密码的安全随机数​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • (007)XHTML文档之标题——h1~h6
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (十六)串口UART
  • (十五)使用Nexus创建Maven私服
  • .Net CF下精确的计时器
  • .Net Core和.Net Standard直观理解
  • .NET 反射 Reflect
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .pop ----remove 删除
  • @ModelAttribute注解使用
  • @开发者,一文搞懂什么是 C# 计时器!
  • [.net] 如何在mail的加入正文显示图片
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [CF]Codeforces Round #551 (Div. 2)