前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从0系统学Android-2.6Activity间数据传递

从0系统学Android-2.6Activity间数据传递

作者头像
开发者
发布2019-12-26 15:14:01
3820
发布2019-12-26 15:14:01
举报
2.3.4 向下一个 Activity 传递数据

前面学习了使用 Intent 来启动一个 Activity ,其实 Intent 还可以用来启动 Activity 的时候传递数据。

Intent 中提供了许多的 putExtra() 方法。可以将数据暂时存在 Intent 中,启动了另一个 Activity 后,只需要把数据从 Intent 中取出来就可以了。

代码:

代码语言:javascript
复制
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExra("extra_data","data");
startActivity(intent);

然后我们就可以在 SeconActivity 中取传递过来的数据了

代码语言:javascript
复制
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
2.3.5 返回数据给上一个 Activity

Activity 中还有一个方法 startActivityForResult() 和这个方法也是用来启动 Activity 的。但是这个方法期望在 Activity 销毁的时候能够返回一个结果给上一个 Activity

代码:

代码语言:javascript
复制
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
// 第一个参数就是 Intent ,第二个参数是请求码,请求码自己定义个数字就可以了
startActivity(intent,1);

在 SecondActivity 中代码:

代码语言:javascript
复制
Intent intent = new Intent();
intent.putExra("data","Hello");
setResult(RESULT_OK,intent);
finish();

首先构建一个 Intent 用于向上一个页面传递数据。setResult() 方法是专门用于向上个页面传递数据的。有两个参数,第一个是 返回码(一般用 RESULT_OK 或者 RESULT_CANCELED 就可以了,也可以自己定义),第二个参数就是带有数据的 Intent。

然后在返回的 Activity 中重写下面的方法

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){

}

本系列文章,参考《第一行代码》,作为个人笔记

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android开发者家园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.3.4 向下一个 Activity 传递数据
  • 2.3.5 返回数据给上一个 Activity
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档