我使用此代码将int传递给下一个活动
Intent intent = new Intent(A.this, B.class);
intent.putExtra("selectedType", i);
startActivity(intent);
然后在活动B
中收到此信息Intent intent = new Intent();
int i = intent.getIntExtra("selectedType", 0);
Toast.makeText(getApplicationContext(), String.valueOf(i),
Toast.LENGTH_LONG).show();
但在此活动中,它始终显示为0.
答案 0 :(得分:2)
Intent intent = new Intent();
您正在创建新的意图,而不是使用传递给ActivityB的意图。所以使用
Intent intent = getIntent();
代替;
答案 1 :(得分:1)
使用此int i = getIntent().getIntExtra("selectedType", 0);
答案 2 :(得分:0)
尝试getIntent().getExtras().getInt("selectedType")
答案 3 :(得分:0)
立即尝试,
int value = getIntent().getExtras().getInt("selectedType");
答案 4 :(得分:0)
Intent intent = new Intent(A.this, B.class);
intent.putExtra("selectedType",i);
startActivity(intent);
接收..
if (getIntent().getExtras().containsKey("selectedType")) {
int message = getIntent().getIntExtra("selectedType");
Toast.makeText(ReceiverActivity.this, "" + message, Toast.LENGTH_LONG)
.show();
}
答案 5 :(得分:0)
Intent intent = new Intent(A.this, B.class);
intent.putExtra("selectedType", i);
startActivity(intent);
Intent intent = new getIntent();
^^^^^^^^^
int i = intent.getIntExtra("selectedType", 0);
Toast.makeText(getApplicationContext(), String.valueOf(i),
Toast.LENGTH_LONG).show();
答案 6 :(得分:0)
因为您正在创建新意图并尝试在其上获取“selectedType”。但是这个意图刚刚被创造出来,所以它没有你想要的价值。
尝试使用getIntent()方法获取您的调用意图,该意图具有您的“selectedType”值... 这是一个快照:
Bundle extras = getIntent().getExtras();
if(extras != null) {
int value = extras.getIntExtra("selectedType", 0);
Toast.makeText(getApplicationContext(), String.valueOf(value), Toast.LENGTH_LONG).show();
}
答案 7 :(得分:0)
然后在活动B
中收到此信息Intent intent = new Intent(); int i = intent.getIntExtra("selectedType", 0);
这是错误的。您正在创建一个新的intent对象。要获取用于启动此活动的intent对象,请使用getIntent()方法。
Intent intent = getIntent();
int i = intent.getIntExtra("seelctedType", 0);