2011-11-13 9 views
6

Tengo un objeto Location en uno de mis otros objetos Venue que implementa Parcelable. ¿Cómo serializo esto correctamente en mi implementación de método writeToParcel? Así que aquí hay un código:cómo poner un objeto Location en Parcelable

public class Venue implements Parcelable{ 
    public String id; 
    public String name; 
    public String address; 
    public Location location; 
    public String city; 
    public String state; 
    public String country; 
    public String postalCode; 

    @Override 
    public int describeContents() { 
     // TODO Auto-generated method stub 
     return 0; 
    } 

    @Override 
    public void writeToParcel(Parcel desc, int flags) { 
     desc.writeString(id); 
     desc.writeString(state); 
     desc.writeString(name); 
     desc.writeString(address); 
     desc.writeString(postalCode); 
     desc.writeString(country); 
     desc.writeString(city); 
     //I am still missing on a way to serialize my Location object here 
    } 
} 
+0

Por favor edite su pregunta para que quede más claro lo que está preguntando. ¿Qué has intentado hasta ahora? –

+0

editado con alguna muestra de código, espero que ayude – adit

Respuesta

10

Aquí tiene un fragmento de cómo serializar objetos parcable en su propio paquete.

Location location; 

public void writeToParcel(Parcel desc, int flags) { 
    location.writeToParcel(desc, flags); 
    /* do your other parcel stuff here */ 
} 

public void readFromParcel(Parcel in) { 
    location=Location.CREATOR.createFromParcel(in); 
    /* do your other parcel stuff here */ 
} 
+0

Gracias, pero ¿qué pasa con listas/matrices? ¿Se supone que debes almacenar el tamaño, o cómo se supone que debes tratar con ellos? – Vince

0

location = in.readParcelable(Location.class.getClassLoader()); también funciona.