Список посылок для списка объектов

Так что я добрался до списков раньше, однако я пытаюсь GameBoard свой объект GameBoard , который на самом деле имеет List<List<Tile>> . Tile реализуется по-разному, но я точно не знаю, как поместить List<List> . Вот что я пробовал:

 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]; } }; 

Класс плитки правильно реализует логически, я просто не совсем уверен, как читать / писать List<List>> при рассылке этого класса. Есть идеи?

Основываясь на комментариях, я расширил класс ArrayList своим специальным классом и реализовал его:

 public class TileList extends ArrayList<Tile> implements Parcelable { public TileList(){ super(); } protected TileList(Parcel in) { in.readTypedList(this, Tile.CREATOR); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int i) { parcel.writeTypedList(this); } public static final Parcelable.Creator<TileList> CREATOR = new Parcelable.Creator<TileList>() { public TileList createFromParcel(Parcel in) { return new TileList(in); } public TileList[] newArray(int size) { return new TileList[size]; } }; } 

И небольшие изменения в моем другом классе:

 public class GameBoard implements Parcelable { private String _id; public String getId() { return _id; } public void setId(String id) { _id = id; } private List<TileList> _tiles; public List<TileList> getTiles() { return _tiles; } public void setTiles(List<TileList> tiles) { _tiles = tiles; } public GameBoard(Parcel in) { _id = in.readString(); _tiles = new ArrayList<>(); in.readTypedList(_tiles, TileList.CREATOR); } public GameBoard() { } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int i) { parcel.writeString(_id); parcel.writeTypedList(_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]; } }; } 
Intereting Posts
Android 2D графический движок игры? RTP на Android MediaPlayer Как запретить обезьяне открывать строку состояния? Почему Eclipse не видит мой телефон Samsung Galaxy, хотя я могу передавать файлы с помощью буквы диска? Android Не удалось создать экземпляр активности: не нашел класс на пути Ошибка отображения на nexus 4 Элемент View Recycler заполняет всю высоту просмотра ресайклера после обновления библиотеки поддержки с "23.1.1" до "23.2.1" Разрешить множественное время выполнения Как добавить нижний колонтитул в ListView? Минимизация активности при нажатии на клавиши Почему нам нужен сериализуемый объект для передачи одного действия другому действию в android Сгладить наблюдаемый <Наблюдаемый <Курсор> к наблюдаемому <Курсор> Есть ли что-то, что эквивалентно файлам plist на Android, как в iOS? MyIntent.getStringExtra возвращает null? Заменить ListFragment с помощью фрагмента внутри ViewPager с вкладками