如何在Android开发中activity之间数据传递

 我来答
吃不胖哒小马哥
2015-12-09 · 超过17用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:16.4万
展开全部

1,A页面利用intent对象的putExtra()方法传值,B页面利用getStringExtra()、getIntExtra()等系列方法来一一接收值;

2,A页面利用bundle对象来保存所有需要传递的数值,通过intent的putExtras()方法传值,B页面利用intent对象的getExtras()方法返回bundle对象,将所有接收的数据放在bundle对象中,利用bundle的get系列方法一一去除数据。

【备注:】如果A页面使用putExtras()方法传值,则B页面使用getExtras()接收值。如果A页面使用putExtra()方法传值,则B页面要使用getBundleExtra()方法接收值。


A页面核心代码:

Intent intent = new Intent(MainActivity.this, NextActivity.class);

Bundle bundle = new Bundle();

bundle.putString("myname", "hehaitao");

bundle.putInt("age", 16);

intent.putExtras(bundle);

startActivity(intent);

B页面核心代码:

// 接收第一个页面的传值

Intent intent = getIntent();

Bundle bundle = intent.getExtras();

String name = bundle.getString("myname");

int age = bundle.getInt("age");

this.setTitle(name + ":" + age);
星月小木木
推荐于2016-11-26 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9724万
展开全部
除了楼上的使用Intent之外也还有很多方法的..
创建静态对象. 静态对象值在类加载时就已经创建好, 只有到程序结束时, 该对象才被释放. 所以..不管在UI线程也好.. 子线程也罢. 他的数据不变
可以使用广播事件. BroadCast.. 相对来说用的比较少.. 你可以重写一个类来继承他的发送和注册方法.
Intent方法. 主要用于调用系统内部功能.. 如,相机.相册.拨号.短信.等等.. 对于Activity也可以..
重写Activity类.. 设置Tag.. 等等
反正方法有很多, 就看你灵活运用了.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式