1

我有两个活动 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 回答