如何使用Parcel类将具有复杂属性的对象发送到另一个活动?

时间:2016-03-18 10:50:37

标签: android parcelable parcel

我需要将一个对象ModuleDetection从一个活动发送到另一个活动。我发现使用Parcel类将我的对象转换为Parcelable对象会对我有所帮助。但是,在我能找到的每个示例中,可分配对象的属性都具有默认类型的Android。但ModuleDetection对象的属性为ImageInterface,是我创建的另一个类。

编写方法时:

@Override
public void writeToParcel(Parcel dest, int flags) {
}

我无法使用dest.writeInt()dest.writeString()等方法,因为我的属性不是默认类型的android。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您应该让两个类都实现Parcelable。当您将ModuleDetection对象作为parcelable传递时,ImageInterface字段也会被处理。

答案 1 :(得分:1)

  

您应该使两个类都实现Parcelable。将ModuleDetection对象作为parcelable传递时,ImageInterface字段也将被处理。

您可以使ImageInterface扩展Parcelable,这样每个ImageInterface实现都必须实现parcel

Here就是一个例子