1

2 つのアクティビティ A と B があります。次のように、アクティビティ A からアクティビティ B を開始します。

var intent = new Intent(this, typeof (BActivity));
StartActivityForResult(intent, 1);

アクティビティ B でボタンを押すと、int[] 配列をアクティビティ A に渡す必要があります。これを行うテスト コードを作成しました。

var intent = new Intent();
int[] array = {1, 2, 3};
intent.PutExtra("__extra__", array);
SetResult(Result.Ok, intent);
Finish();

しかし、インテントからこの値を取得しようとするたびに、null を受け取ります。これが私が試した方法です:

var value = data.GetIntArrayExtra("__extra__");

ここで何が間違っていますか?私は文字列で同じことを試しましたが、うまくいきました.int配列だけが機能していないようです...

4

1 に答える 1

1

として試してみてください:

Bundle bdl = new Bundle();
int[] array = {1, 2, 3};
bdl.PutIntArray("__extra__",array);

Intent intent = new Intent();
intent.PutExtra("extra", bdl);
SetResult(Result.Ok, intent);
Finish();

OnActivityResult

Bundle credBdl = data.GetBundleExtra("extra");
int[] array=credBdl.GetIntArray("__extra__");
于 2013-03-12T10:54:23.287 に答える