有点奇怪的问题。
我将数据从一个活动传递到另一个活动 - 特别是两个GeoPoints。但是,正如我发现的那样,您无法传递GeoPoint类型的ArrayList。我想把它们转换成字符串并将它们传递给string类型的ArrayList(所以,geopoint1.tostring()),这很好,但我不知道如何在下一个活动中将它们转换回GeoPoint。
我所做的可能是完全精神和愚蠢的,但我似乎无法想到任何其他方式。
我发布了这个简短的问题,试着快速回复一下,但如果您需要更多信息,请问我,我会直截了当。
BTW,我正在使用intent.putExtra等传递数据
谢谢你们!
答案 0 :(得分:2)
我不知道什么是Android,但我无法拒绝回答一个美好的新开始。
我想有一种更简单的方法可以传递一个GeoPoint(SO成员,帮助我),但是如果你把它作为一个字符串传递,那么你可以做什么:
从String中解析纬度和经度。我猜你只需将它拆分为','并将这两部分转换为int(您必须通过查看GeoPoint.toString()的结果来验证这一点。
String[] separated = yoGeoPointAsString.split(",");
// I suppose, this will contain latitude
int latitudeE6 = Integer.parseInt(separated[0]);
// I suppose, this will contain longitude
int longitudeE6 = Integer.parseInt(separated[1]);
从字符串中提取了两个int值后,只需调用构造函数:
GeoPoint gp = GeoPoint(latitudeE6, longitudeE6);
答案 1 :(得分:2)
GeoPoint的getLatitudeE6()/getLongitudeE6()
返回一个int。
因此,您可以在int数组中使用坐标并将其发送
来自意图的putExtra(String name, int[] value)
int[] myGeoPoints = { 30, 50 };
putExtra("myCoordinates", myGeoPoints)
并使用getIntent().getExtras().getIntArray
getIntent().getExtras().getIntArray("myCoordinates")
或者你可以将纬度/经度用不同的键放在Intent的Extra中
putExtra(String name, int value)