我有一个实现Parcelable
. 将 a对象读/写到 a 的最佳方法List
是什么?Date
Parcel
这是您可以为单个Date
对象执行此操作的方法:
date = new Date(parcel.readLong()); //read
parcel.writeLong(date.getTime()); //write
但是怎么做呢List<Date>
?
我想写的笨拙的方法是遍历所有Date
对象并构造 a 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));
但我希望会有更好的东西......