将int传递给android活动

时间:2012-10-06 09:31:27

标签: android android-activity

我使用此代码将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.

8 个答案:

答案 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);