So I've parceled lists before, however I'm trying to parcel my GameBoard
object, which actually has a List<List<Tile>>
. Tile
implements parcelable, but I'm not sure exactly how to parcel the List<List>
. Here's what I've tried:
public class GameBoard implements Parcelable {
private String _id;
public String getId() { return _id; }
public void setId(String id) { _id = id; }
private List<List<Tile>> _tiles;
public List<List<Tile>> getTiles() { return _tiles; }
public void setTiles(List<List<Tile>> tiles) { _tiles = tiles; }
public GameBoard(Parcel in) {
_id = in.readString();
in.readList(_tiles, ArrayList.class.getClassLoader());
}
public GameBoard() {
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(_id);
parcel.writeList(_tiles);
}
public static final Parcelable.Creator<GameBoard> CREATOR = new Parcelable.Creator<GameBoard>() {
public GameBoard createFromParcel(Parcel in) {
return new GameBoard(in);
}
public GameBoard[] newArray(int size) {
return new GameBoard[size];
}
};
The tile class correctly implements parcelable, I'm just not exactly sure how to read / write the List<List>>
when parceling this class. Any ideas?