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

本文关键字:变量 之间 android 活动 Xamarin | 更新日期: 2023-09-27 18:29:47

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

我想做以下事情:

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

但当我获得其他活动的数据时,amount和name具有相同的值

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

如果您的项目来自同一个对象/类。。
您可以创建一个具有所有这些属性的类,然后使用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);
}