-1

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

4

8 回答 8

2
Intent intent = new Intent();

您正在创建一个新意图,而不是使用传递给 ActivityB 的意图。所以使用

Intent intent  = getIntent();

反而;

于 2012-10-06T09:35:39.540 回答
1

用这个int i = getIntent().getIntExtra("selectedType", 0);

于 2012-10-06T09:40:46.430 回答
0

尝试getIntent().getExtras().getInt("selectedType")

于 2012-10-06T09:35:12.817 回答
0

现在试试,

 int value = getIntent().getExtras().getInt("selectedType");
于 2012-10-06T09:35:24.203 回答
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();
    }
于 2012-10-06T09:35:50.257 回答
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();
于 2012-10-06T09:36:57.800 回答
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();
}
于 2012-10-06T09:37:58.623 回答
0

然后在活动 B 中收到这个

Intent intent = new Intent();
int i = intent.getIntExtra("selectedType", 0);

这是错误的。您正在创建一个新的意图对象。要获取用于启动此活动的意图对象,请使用 getIntent() 方法。

Intent intent = getIntent();
int i = intent.getIntExtra("seelctedType", 0);
于 2012-10-06T09:38:36.703 回答