从0系统学Android-2.6Activity间数据传递
2024-09-30 20:48:33
本系列文章,参考《第一行代码》,作为个人笔记
更多内容:更多精品文章分类
2.3.4 向下一个 Activity 传递数据
前面学习了使用 Intent 来启动一个 Activity ,其实 Intent 还可以用来启动 Activity 的时候传递数据。
Intent 中提供了许多的 putExtra()
方法。可以将数据暂时存在 Intent 中,启动了另一个 Activity 后,只需要把数据从 Intent 中取出来就可以了。
代码:
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExra("extra_data","data");
startActivity(intent);
然后我们就可以在 SeconActivity 中取传递过来的数据了
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
2.3.5 返回数据给上一个 Activity
Activity 中还有一个方法 startActivityForResult()
和这个方法也是用来启动 Activity 的。但是这个方法期望在 Activity 销毁的时候能够返回一个结果给上一个 Activity
代码:
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
// 第一个参数就是 Intent ,第二个参数是请求码,请求码自己定义个数字就可以了
startActivity(intent,1);
在 SecondActivity 中代码:
Intent intent = new Intent();
intent.putExra("data","Hello");
setResult(RESULT_OK,intent);
finish();
首先构建一个 Intent 用于向上一个页面传递数据。setResult()
方法是专门用于向上个页面传递数据的。有两个参数,第一个是 返回码(一般用 RESULT_OK 或者 RESULT_CANCELED 就可以了,也可以自己定义),第二个参数就是带有数据的 Intent。
然后在返回的 Activity 中重写下面的方法
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
}
最新文章
- iframe 跨域相互操作
- 修改dedecms默认文章来源 ";未知";改为关键词
- CodeSnippetsLibrary的使用方法
- 2013年优秀jQuery插件
- poj 3072(最短路)
- PHP+Apache+MySQL+phpMyAdmin在win7系统下的环境配置
- PHP与最丑的后台管理系统
- TCP的流量控制(转载)
- ubuntu texlive 中文的配置方法
- java 面试,如何提升自己的实力,摘自 java web轻量级开发面试教程
- 自学Python4.1-文件操作
- TensorFlow MNIST初级学习
- [APP] Android 开发笔记 003-使用Ant Release 打包与keystore加密说明
- 【转】Ubuntu+apache绑定多个域名
- 在Eclipse里静态导入
- QoS专题-第4期-QoS实现之限速
- Newman语法参数
- i.e 和e.g 的区别
- 对于微信小程序登录的理解图
- 更换163的yum源
热门文章
- Windows系统下解决PhPStudy MySQL启动失败
- CentOS 7 离线环境安装nginx时报错:./configure: error: C compiler cc is not found
- C++之new关键字
- DUBBO: xml文件无法解析
- Node.js / Python 日志
- .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新
- springboot~maven集成开发里的docker构建
- Dynamics CRM通过定制应用程序功能区为符合条件的实体表单增加按钮
- Android五大布局详解——FrameLayout(帧布局)
- Docker动态添加端口,不需要重新建立镜像