我正在尝试将 2 个参数从一个 Activity 发送到另一个 Activity ,但由于某种原因只传递了一个参数。会是什么?
发送 Activity :
showActivity(OrderActivity.class, new Pair("CUSTOMER_ID", customerId), new Pair("CUSTOMER_TYPE", customerType));
接收 Activity :客户 ID 显示为 0,但已获取类型数据
Bundle extras = getIntent().getExtras();
long customerId = extras.getLong("CUSTOMER_ID");
int customerType = extras.getInt("CUSTOMER_TYPE");
Log.d("===customer ", " id : " + customerId + " type : " + customerType);
showActivity
看起来像这样
protected void showActivity(Class<? extends BaseKaizenActivity> clazz, Pair<String, Object> ... parameters) {
Intent intent = new Intent(this, clazz);
if (parameters != null) {
for (Pair<String, Object> pair : parameters) {
if (pair.second instanceof Integer) {
intent.putExtra(pair.first, (Integer)pair.second);
}
else if (pair.second instanceof Parcelable) {
intent.putExtra(pair.first, (Parcelable)pair.second);
}
}
}
startActivity(intent);
}
最佳答案
if (pair.second instanceof Integer) {
intent.putExtra(pair.first, (Integer)pair.second);
}
else if (pair.second instanceof Parcelable) {
intent.putExtra(pair.first, (Parcelable)pair.second);
}
好像忘记写Long的子句了,if和else if都没有,所以没有放到extradata中。
关于android - Intent 不传递我的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12382517/