gpt4 book ai didi

android - 将自定义对象发送到 intent android

转载 作者:太空狗 更新时间:2023-10-29 14:55:57 25 4
gpt4 key购买 nike

我想将类型为 Annonce 的对象传递给 Intent。如您所见,如果类属性是原语,则很简单,但是;在我的例子中,我有一个图像(位图)和一个 Client 类型的属性(我创建了一个 Client 类)。我的方案是访问Client属性(使用getter和setter),在writeToParcel方法中一一解析(太费时间),对于图片,我使用 ByteArrayOutputStreammainActivity 中发送它。任何人都可以帮助我在 Annonce 类中完成这一切。

public class Annonce implements Parcelable {

String article, desc, temps, ville, categorie;
int prix;
Bitmap img;
Client c;

public Annonce(String article, String desc, String temps, String ville,
String categorie, int prix, Bitmap img, Client c) {
this.article = article;
this.desc = desc;
this.c = c;
this.prix = prix;
this.img = img;
this.temps = temps;
this.categorie = categorie;
this.ville = ville;
}

public static final Parcelable.Creator<Annonce> CREATOR = new Parcelable.Creator<Annonce>() {

public Annonce createFromParcel(Parcel source) {
return new Annonce(source);
}

public Annonce[] newArray(int size) {
return new Annonce[size];
}
};

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(article);
parcel.writeString(desc);
parcel.writeString(temps);
parcel.writeString(ville);
parcel.writeString(categorie);
parcel.writeInt(prix);
}

public Annonce(Parcel source) {
article = source.readString();
desc = source.readString();
temps = source.readString();
ville = source.readString();
categorie = source.readString();
prix = source.readInt();
}
}

最佳答案

具有“位图”类型的属性不是一个好的解决方案。取而代之的是,我们可以使用图像的路径来引用位图图像。另外,我们可以将Client转换成parcelable中的object,以便通过intent发送。

关于android - 将自定义对象发送到 intent android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com