So far I’ve been chugging along with Parcelable objects without issue, mainly because all of their members have been types that have writeX() methods associated with them. For example, I do:
public String name;
private Foo(final Parcel in) {
name = in.readString(); }
public void writeToParcel(final Parcel dest, final int flags) {
dest.writeString(name); }
But now if I have a Bar member things get a little dicey for me:
public Bar bar;
private Foo(final Parcel in) {
bar = new Bar(); //or i could actually write some constructor for Bar, this is a demo.
bar.memberString = in.readString();
}
public void writeToParcel(final Parcel dest, final int flags) {
// What do I do here?
}
Am I approaching this the wrong way? What should I do in my writeToParcel to parcel member Bars?
The correct and more OO way is make Bar implements Parcelable too.
To read Bar in your private Foo constructor:
To write Bar in your writeToParcel method:
Hope this helps.