掌握Android Activity间数据传递:onActivityResult详解
151 浏览量
更新于2024-08-31
收藏 128KB PDF 举报
在Android学习过程中,理解如何在应用程序内部不同Activity之间传递数据是一项基本技能。本文将深入探讨在Android中实现这一功能的具体步骤,特别是在当前Activity(MainActivity)中通过启动另一个Activity(AnotherActivity)并接收返回的数据。主要涉及的知识点包括:
1. Activity启动与结果传递:
- 主Activity(MainActivity)中,有一个包含一个Button(btnSend)和一个TextView(textView)。当用户点击Button时,会触发一个新的Intent,这个Intent用于启动AnotherActivity。
- 使用`startActivityForResult()`方法启动另一个Activity,传入一个请求码(requestCode),这是为了在AnotherActivity执行完毕后能正确识别返回的数据。这里设置的requestCode为0,但实际开发中建议根据需求自定义。
2. onActivityResult()方法的使用:
- 在MainActivity中,重写了`onActivityResult()`方法,这是Activity间通信的关键方法。当启动的Activity执行完毕并通过`setResult()`方法返回数据时,系统会自动调用此方法。
- 方法接受三个参数:requestCode(启动Activity时使用的请求码)、resultCode(表示操作结果,比如Activity.RESULT_OK或Activity.RESULT_CANCELED)以及Intent对象(包含了传回的数据)。
- 当`requestCode`与之前启动Activity时的请求码匹配时,程序会检查`resultCode`,如果结果为预期,例如Activity.RESULT_OK,就从Intent的`getStringExtra()`方法中取出数据,并将其显示在TextView上。
3. XML布局设计:
- activity_main.xml文件定义了MainActivity的UI,其中TextView和Button的引用分别通过`findViewById()`方法获取。Button的onClick事件处理器设置了一个匿名内部类,当点击时启动另一个Activity。
4. 数据传递机制:
- Android的数据传递可以通过Intent对象,可以包含各种类型的数据,如字符串、整数、布尔值等。在这个例子中,AnotherActivity通过`setResult()`方法将数据以字符串形式存储在Intent的"extra"键(key)下,键名为"data"。
总结来说,学习如何在Android应用中启动Activity并传递数据,对于构建复杂的应用逻辑至关重要。通过`startActivityForResult()`与`onActivityResult()`的配合,我们可以有效地在不同的Activity之间传递和处理数据,实现应用程序之间的交互。这不仅是Android开发中的基础知识,也是构建跨页面逻辑流程的核心环节。
2018-05-18 上传
2018-09-07 上传
2021-10-19 上传
点击了解资源详情
点击了解资源详情
2021-12-17 上传
2021-09-03 上传
2011-04-02 上传
2010-03-18 上传
weixin_38516491
- 粉丝: 6
- 资源: 950
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库