web-dev-qa-db-ja.com

Intent.putExtraを使用して配列を送信する

アクティビティAに整数の配列があります:

int array[] = {1,2,3};

そして、その変数をアクティビティBに送信するため、新しいインテントを作成し、putExtraメソッドを使用します。

Intent i = new Intent(A.this, B.class);
i.putExtra("numbers", array);
startActivity(i);

アクティビティBで情報を取得します。

Bundle extras = getIntent().getExtras();
int arrayB = extras.getInt("numbers");

しかし、これは実際に配列を送信するのではなく、arrayBで値「0」を取得するだけです。私はいくつかの例を探していましたが、何も見つかりませんでした。

67
Kitinz

配列で追加を設定しています。次に、単一のintを取得しようとしています。

コードは次のとおりです。

int[] arrayB = extras.getIntArray("numbers");
85
Mark B

このコードは整数値の配列を送信します

配列リストの初期化

List<Integer> test = new ArrayList<Integer>();

配列リストに値を追加

test.add(1);
test.add(2);
test.add(3);
Intent intent=new Intent(this, targetActivty.class);

配列リストの値をターゲットアクティビティに送信する

intent.putIntegerArrayListExtra("test", (ArrayList<Integer>) test);
startActivity(intent);

ここで、targetActivtyの値を取得します

Intent intent=getIntent();
ArrayList<String> test = intent.getStringArrayListExtra("test");
10
Khalid Habib