Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin android在活动之间传递多个变量_C#_Android_Xamarin - Fatal编程技术网

C# Xamarin android在活动之间传递多个变量

C# Xamarin android在活动之间传递多个变量,c#,android,xamarin,C#,Android,Xamarin,我有一个列表,它从表单中获取数据(您可以在表单中填写名称和金额),现在当我只想发送一个变量时,它就可以工作了 我想做以下工作: //Activity 1 var second = new Intent(this, typeof(Activity2)); second.PutExtra("name", name); second.PutExtra("amount", amount); StartActivity(second); //Activity 2

我有一个列表,它从表单中获取数据(您可以在表单中填写名称和金额),现在当我只想发送一个变量时,它就可以工作了

我想做以下工作:

//Activity 1
    var second = new Intent(this, typeof(Activity2)); 
    second.PutExtra("name", name);
    second.PutExtra("amount", amount);
    StartActivity(second);

//Activity 2
    string name = Intent.GetStringExtra("name") ?? "No Data";
    string amount= Intent.GetStringExtra("amount") ?? "No Data";

但是,当我获得其他活动的数据时,如果您的项目来自同一对象/类,则金额和名称的值相同。。
您可以创建一个具有所有这些属性的类,然后在活动之间使用Json进行序列化/反序列化,例如:

 //Activity 1
 var objectString = Newtonsoft.Json.JsonConvert.SerializeObject(yourClass);
 var activity = new Intent(this, typeof(activityName));
 activity.PutExtra("yourObjectName", objectString );
 StartActivity(activity);

//Activity 2                
var _objectstring = Intent.GetStringExtra("yourObjectName") ?? string.Empty;            
if (!string.IsNullOrEmpty(_objectstring))
{
    var instanceOfYouClass = JsonConvert.DeserializeObject<yourClass>(_objectstring);
}
//活动1
var objectString=Newtonsoft.Json.JsonConvert.SerializeObject(yourClass);
var activity=新意图(此,typeof(activityName));
activity.PutExtra(“yourObjectName”,objectString);
星触觉(活动);
//活动2
var\u objectstring=Intent.GetStringExtra(“yourObjectName”)??字符串。空;
如果(!string.IsNullOrEmpty(_objectstring))
{
var instanceOfYouClass=JsonConvert.DeserializeObject(\u objectstring);
}

我认为这将有助于您,您正在做的事情是完全正确的,您应该查看代码的其余部分以了解问题。当他所做的事情是完全合法的,而且他显然有其他问题时,您为什么会建议这样做。将原始数据类型打包到对象中,然后对它们进行序列化/反序列化似乎太极端了。