这里提出的问题是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()检索它,但是这对多维数据库也不起作用。一切都有帮助。
答案 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
。
参考: