我有两个活动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数组不起作用...
答案 0 :(得分: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__");