【发布时间】:2012-12-29 17:03:26
【问题描述】:
我有一个实现Parcelable 的类。将List 的Date 对象读/写到Parcel 的最佳方法是什么?
这就是您可以为单个 Date 对象执行此操作的方法:
date = new Date(parcel.readLong()); //read
parcel.writeLong(date.getTime()); //write
但是对于List<Date>怎么办呢?
我认为写操作的笨拙方式是遍历所有Date 对象并构造一个long[],如下所示:
long[] datesAsLongs = new long[dates.size()];
for (int i = 0; i < dates.size(); i++)
datesAsLongs[i] = dates.get(i).getTime();
parcel.writeLongArray(datesAsLongs);
要阅读,你可以这样做:
dates = new ArrayList<Date>();
for (long dateAsLong : parcel.createLongArray())
dates.add(new Date(dateAsLong));
但我希望会有更好的东西......
【问题讨论】:
标签: android date serialization parcelable parcel