0

Die Frage wurde hier Pass multidimensional ArrayList of LatLng through intent gestellt, aber es hat keine tatsächliche Antwort.Empfangen ArrayList <ArrayList <LatLng>> durch Absicht

Ich habe getan, was die Antwort dort heißt es, und ich kann es ohne Fehler durchlaufen,

intent.putExtra("lat_lng_list", mLatLonList); 

aber ich bin nicht in der Lage es am anderen Ende zu erhalten. Die nächste, die ich gekommen bin, war:

aber dies gibt nur null, obwohl es nicht ist. Ich weiß, LatLng implementiert parcelable, ich konnte eine ArrayList von LatLng mit der gleichen .putExtra übergeben und es mit intent.getParcelableArrayListExtra() abzurufen, aber das wird auch nicht für die mehrdimensionale funktionieren. Alles hilft.

+1

https://stackoverflow.com/questions/42417241/passing-an-arraylistobject-from-one-intent-to-another – sdfbhg

Antwort

2

Eine ArrayList implementiert Parcelable nicht, aber implementiert Serializable. Sie können getParcelableExtra nicht verwenden, um die Daten zu empfangen, stattdessen müssen Sie getSerializableExtra verwenden. Wie folgt aus:

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

können Sie auch intent.putParcelableArrayListExtra() und intent.getParcelableArrayListExtra() verwenden, wenn Sie große ArrayList ‚s verwenden. Stellen Sie außerdem sicher, dass LatLngSerializable implementiert.

Referenz:

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

+0

Wow, ich versucht hatte, mit, dass vor aber ich habe einen Fehler bekommen, habe gar nicht über Typcasting nachgedacht! Vielen Dank! –

+0

Willkommen, viel Glück mit Ihrer App. –

+0

Bitte markieren Sie es als eine Antwort, wenn es für Sie gearbeitet hat :) –

Verwandte Themen