在Xamarin中,如何将用户定义的对象(我编写的类)传递给其他活动?
我希望传递的对象是List中名为:
的项目_mapLocationList[0]
该项目的类型为:
MapLocation
这是我目前的代码:
intent.PutExtra ("MapLocation", _mapLocationList[0]);
上面的方法可以用来传递一个对象吗?如果没有,我该怎么做?
提前致谢
答案 0 :(得分:1)
将对象传递给Activity
的最简单方法是使用Intent
s。为此,您需要将您的课程设为implement
Serializable
或Parcelable
。
这样,您可以通过Intent
方法将对象放入putExtra("myobject", object)
,然后通过Activity
将其放回getSerializableExtra("myobject")
。
例如:
在第一个Activity
:
final Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("my_class", your_maplocation_object);
startActivity(intent);
然后在你的第二个Activity
,你会这样做:
final Intent passedIntent = getIntent();
final MapLocation my_class = (MapLocation) passedIntent.getSerializableExtra("my_class");
答案 1 :(得分:0)
有一种更简单,更愉快的方式:使用Googe GSON库。
活动A中的序列化:
intent.putExtra("mapLocExtra", new Gson().toJson(myMapLocationObject,MapLocation.class);
startActivity(intent);
***活动B中的反序列化:*
@Oncreate(...){
String mapLocJson= getIntent().getExtra("mapLocExtra").toString();
MapLocation mylocationObject= new Gson().fromJson(maplocJson,MapLocation.Class);
//do Stuff With mylocationObject
}