-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 に答える