【发布时间】:2015-05-31 21:07:57
【问题描述】:
所以我之前已经打包了列表,但是我正在尝试打包我的 GameBoard 对象,它实际上有一个 List<List<Tile>>。 Tile 实现了 parcelable,但我不确定如何将 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];
}
};
tile 类正确地实现了 parcelable,我只是不完全确定在 parcel 此类时如何读取/写入 List<List>>。有什么想法吗?
【问题讨论】:
-
这是之前问题中的一个想法; stackoverflow.com/a/16529389/680519.
-
@harism 同意,这会奏效。
-
@harism 感谢您的链接,设法得到一个可行的解决方案。
标签: java android list parcelable parcel