我正在尝试将2个参数从一个活动发送到另一个活动,但由于某种原因,只传递了一个参数。它会是什么?
发送活动:
showActivity(OrderActivity.class, new Pair("CUSTOMER_ID", customerId), new Pair("CUSTOMER_TYPE", customerType));
接收活动:客户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);
}
答案 0 :(得分:1)
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也不是if,所以没有被放入extradata。
答案 1 :(得分:0)
intent.putExtra("backPressed", true);
getIntent().getBooleanExtra("backPressed", false);
这是我的工作代码并没有问题。