Activity 传值 intent.getStringExtra(“key“) 返回null

本文详细介绍了Android中Activity之间的传值方法,特别是使用Intent进行数据传递的正确方式和常见错误,帮助开发者避免因数据类型不匹配或不当使用Intent构造函数而导致的问题。

Activity 传值 intent.getStringExtra(“key”) 返回null

1. put和get时的值类型需要一致

代码

// ----存储----
intent.putExtra("id", 1); // int
intent.putExtra("name", "一碗单炒饭"); // String
// ----获取----
intent.getIntExtra("id", 0); // int
intent.getStringExtra("name"); // String

2. putExtra之后不要再用构造函数构造Intent

错误

// 错误的做法
intent.putExtra("id", 1);
intent.putExtra("name", "一碗单炒饭");
// 写在putExtra之后,错误
intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);

做法1

// 先实例化
intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("id", 1);
intent.putExtra("name", "一碗单炒饭");
startActivity(intent);

做法2

intent.putExtra("id", 1);
intent.putExtra("name", "一碗单炒饭");
// 已经实例化的intent直接设置class
intent.setClass(FirstActivity.this,SecondActivity.class);
startActivity(intent);
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值