我想使用 Parcelable 接口将包含可绘制字段的对象传递给另一个 Activity。但问题是,在
public void writeToParcel(Parcel parcel, int flags)
类中的重写方法(其对象必须发送)中,我不能有“parcel.writeDrawable”类型的方法。所以我可以通过其他领域,但不能通过 Drawable。实现 Parcelable 接口后,我在我的类中添加了以下方法。
public static final Parcelable.Creator<ImageInfo> CREATOR = new Parcelable.Creator<ImageInfo>() {
public ImageInfo createFromParcel(Parcel source) {
return new ImageInfo(source);
}
public ImageInfo[] newArray(int size) {
return new ImageInfo[size];
}
};
public int describeContents() {
return 1;
}
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(name);
parcel.writeString(price);
parcel.writeString(urlOfImage);
}
并使用以下代码,我将我的对象置于意图中
Bundle b = new Bundle();
b.putParcelable("parse", imageInfo);
intentTrackIntHome.putExtras(b);
所以我必须做些什么来传递那个可绘制的字段。
我知道我可以使用共享首选项、sd 卡、全局应用程序类、静态字段;但我不想使用它。因为将来我的代码可能会改变,所以我想要健壮的代码。