Android学习笔记——Activity之间传递参数

Intent i = new Intent(CurrActivity.this, AnotherActivity.class);

i.putExtra("name", "这里可以传入各种常用数据类型, 包括Bundle");
在AnotherActivity中可以通过
getIntent()方法获取CurrActivity传过来的Intent i
Intent i = getIntent();
String name = i.getStringExtra("name");//根据传入的数据类型来get不同的类型的Extra,这里传入的是字符串所以使用getStringExtra。
 
也可以通过传递Bundle来一次性传递多个数据
Intent i = new Intent(CurrActivity.this, AnotherActivity.class);
Bundle b = new Bundle();
b.putString("name", "CrazyBun");
b.putInt("age", 24);
传递Bundle的方式有两种:
i.putExtra("bundle", b);     //获取时使用i.get BundleExtra("bundle");
i.putExtra s(b);     //获取时使用 i.getExtra s();
然后在AnotherActivity中
//先getIntent()获取获取Intent
Intent i = getIntent();
//再从i中获取bundle
Bundle b = i.getExtra s();
//之后从b中取数据即可
String name = b.getString("name");
String age = b.getInt("age");
//为了防止要获取的键值对不存在,可以在get()方法中增加一个参数,表示默认值,如:
String father = b.getString("father", "Bun");
这样的话,在传过来的Bundle中如果不存在father这个键值对的话,这里的father就会被赋值为Bun

转载于:https://www.cnblogs.com/CrazyBun/p/5335382.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值