По моему личному опыту, http://www.parcelabler.com/ - замечательный сайт для этого. Вы просто создаете свой класс и копируете, вставляете его на веб-сайт, и он генерирует версию вашего класса, доступную для отправки.
Я протестировал его с классом "Theme", который содержал следующие переменные:
private String name;
private int image;
private List<Card> cards;
Функция writeToParcel становится:
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(image);
if (cards == null) {
dest.writeByte((byte) (0x00));
} else {
dest.writeByte((byte) (0x01));
dest.writeList(cards);
}
}
сгенерированный конструктор:
protected Theme(Parcel in) {
name = in.readString();
image = in.readInt();
if (in.readByte() == 0x01) {
cards = new ArrayList<Card>();
in.readList(cards, Card.class.getClassLoader());
} else {
cards = null;
}
}
РЕДАКТИРОВАТЬ: убедитесь, что объект карты также Parcelable!