我以为我理解如何从包裹读取/写入,但现在我卡住了。在我的一个可分配的对象中,我有这个功能
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(7);
int testInt = dest.readInt();
Log.d("test","INT = " + testInt);
}
在保存活动状态时正确运行。这输出
INT = 0
我认为是因为我没有正确地写/读包裹。或者也许你不能立即写作和阅读。我做错了什么?
答案 0 :(得分:0)
您应该使用Parcel
方法写入writeToParcel
,并阅读Parcel
{Creator
createFromParcel
1}}方法。
我不确定您为什么要在Parcel
方法中读取writeToParcel
,但如果您这样做,则不应该期望最近写的{{1}首先阅读;数据按照写入的顺序读取。