繁体   English   中英

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

[英]Does the readInt(), readFloat() etc. of Parcelable know what value they are retrieving?

如果您的类实现了可打包的,那么您就知道系统需要一个构造函数来根据刚刚收到的小包来构造您的类。

因此,必须编写通常类似于以下构造函数的构造函数,这会使它变得有些混乱:

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();

我要去的田地都弄乱了吗? 如果是这种情况,这不是在乞求错误吗? 由于粗心大意的错误,我可能会做错很长时间的事情,但过了一段时间才发现?

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

如果是这种情况,这不是在乞求错误吗? 由于粗心大意的错误,我可能会做错很长时间的事情,但过了一段时间才发现?

确实

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM