2012-02-17 17 views
8

Nella mia applicazione Android ho un'attività contenente un oggetto Parcelable (implementa Parcelable).Come scrivere una mappa in un pacco?

Questo oggetto contiene una mappa.

Quando provo a fare quanto segue nel metodo writeToParcel():

parcel.writeMap(myMap); 

ricevo il seguente commento da API:

Utilizzare writeBundle (bundle), invece. Appiattisce una mappa nella parcella all'attuale dataPosition(), in crescita dataCapacity() se necessario. Le chiavi della mappa devono essere oggetti stringa. I valori della mappa sono scritti usando writeValue (Object) e devono seguire le specifiche lì.

Come dovrei farlo? Come dovrei usare lo writeBundle(myMap) qui?

+0

È possibile ottenere aiuto da [qui] (http://stackoverflow.com/questions/8254654/how-convert-write-java-util-map-into-parcel-in-a-smart-way). –

+0

http://android-orchestration.googlecode.com/svn-history/r162/trunk/Orchestration/src/orchestration/android/parcelable/ParcelableAndroidTaskDTO.java –

+0

Grazie a entrambi, quindi non esiste un modo semplice writeMap. Sembra che sia necessario inserire le voci della mappa effettive una alla volta. – Chaiavi

risposta

5

Il pacchetto è solo una mappa. Scorrere la mappa, inserire ogni mappatura in un oggetto Bundle appena creato e chiamare writeBundle su di esso. Potrebbe non essere la soluzione migliore, ma una soluzione praticabile.

Problemi correlati