Parcelable的readInt(),readFloat()等是否知道它们检索的是什么值?

如果你的类实现了parcelable,那么你知道你需要一个构造函数来让系统根据它刚刚收到的parcel来构造你的类。

所以通常像下面那样的构造函数必须被编写,这就是它有点令人困惑的地方:

public myClass(Parcel in){ this.type = in.readInt(); this.size = in.readInt(); } 

你看,如果有一个参数,这些读取相关的方法被调用如下:

  this.type = in.readInt(type); this.size = in.readInt(size); 

然后很清楚发生了什么,但相反,它们根本没有任何参数。 所以我想知道:这应该怎么做? 这些方法在某种程度上是“聪明的”,你不必告诉他们要获得哪个领域,他们总能设法得到正确的方法吗?

还是顺序? 如果我像这样使用它:

  this.size = in.readInt(); this.type = in.readInt(); 

我即将获得的领域都会搞砸了? 如果是这样的话,这不是乞求错误吗? 由于一个粗心的错误,我可能会在很长一段时间内做错事但只是在很长一段时间之后找到它?

订单很重要。 必须以相同的顺序读取所有写入。

如果是这样的话,这不是乞求错误吗? 由于一个粗心的错误,我可能会在很长一段时间内做错事但只是在很长一段时间之后找到它?

确实