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

时间:2014-11-10 10:22:42

标签: c# android xamarin

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

我想做以下事情:

//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";

但是当我获得其他活动的数据时,金额和名称具有相同的值

1 个答案:

答案 0 :(得分:0)

如果您的商品来自同一个对象/类..
您可以创建一个具有所有这些属性的类,然后在您的活动之间使用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);
}