#java #android
#java #Android
Вопрос:
У меня есть объект Location в одном из моих других объектов Venue, который реализует Parcelable. Как мне правильно сериализовать это в моей реализации метода writeToParcel? Итак, вот некоторый код:
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
}
}
Комментарии:
1. Пожалуйста, отредактируйте свой вопрос, чтобы было более понятно, о чем вы спрашиваете. Что вы уже пробовали?
2. отредактировано с помощью некоторого примера кода, надеюсь, это поможет
Ответ №1:
Здесь у вас есть фрагмент, как сериализовать разделяемые объекты в вашу собственную посылку.
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 */
}
Комментарии:
1. Спасибо, но как насчет списков / массивов? Предполагается ли хранить размер или как вы должны с ними обращаться?
Ответ №2:
location = in.readParcelable(Location.class.getClassLoader());
также работает.