接收ArrayList <arraylist <latlng>&gt;通过意图

时间:2017-10-25 16:57:54

标签: android android-intent arraylist multidimensional-array

这里提出的问题是Pass multidimensional ArrayList of LatLng through intent,但它没有实际答案。

我已经完成了所说的答案,我可以毫无错误地通过它,

intent.putExtra("lat_lng_list", mLatLonList);

但我无法在另一端收到它。我最接近的是使用:

final ArrayList<ArrayList<LatLng>> latLngList = intent.getParcelableExtra("lat_lng_list");

但这只是返回null,即使它不是。我知道LatLng实现了parcelable,我能够使用相同的.putExtra传递LatLng的ArrayList并使用intent.getParcelableArrayListExtra()检索它,但是这对多维数据库也不起作用。一切都有帮助。

1 个答案:

答案 0 :(得分:3)

ArrayList未实现Parcelable,但它实现了Serializable。您无法使用getParcelableExtra来接收数据,您必须使用getSerializableExtra。像这样:

final ArrayList<ArrayList<LatLng>> latLngList = (ArrayList<ArrayList<LatLng>>) intent.getSerializableExtra("lat_lng_list");

如果您使用大型intent.putParcelableArrayListExtra(),也可以使用intent.getParcelableArrayListExtra()ArrayList。另外,请确保LatLng实施Serializable

参考:

https://stackoverflow.com/a/28733592/5457878