У меня объект вроде этого:Int в нечто иное после parcelable
public class CommunityCurrencyContent implements Parcelable {
private Double balance;
private Long creationDate;
private String description;
private Double offerCount;
private String communityIcon;
private String communityDescription;
private String communityName;
private String[] links;
private String code;
private Double memberCount;
private String communityImage;
private Integer pk;
public CommunityCurrencyContent(Parcel in) {
balance = in.readDouble();
creationDate = in.readLong();
description = in.readString();
offerCount = in.readDouble();
communityIcon = in.readString();
communityDescription = in.readString();
communityName = in.readString();
links = in.createStringArray();
code = in.readString();
memberCount = in.readDouble();
communityImage = in.readString();
pk = in.readInt();
}
public static final Creator<CommunityCurrencyContent> CREATOR = new Creator<CommunityCurrencyContent>() {
@Override
public CommunityCurrencyContent createFromParcel(Parcel in) {
return new CommunityCurrencyContent(in);
}
@Override
public CommunityCurrencyContent[] newArray(int size) {
return new CommunityCurrencyContent[size];
}
};
public Double getBalance() {
return balance;
}
public Long getCreationDate() {
return creationDate;
}
public String getDescription() {
return description;
}
public Double getOfferCount() {
return offerCount;
}
public String getCommunityIcon() {
return communityIcon;
}
public String getCommunityDescription() {
return communityDescription;
}
public String getCommunityName() {
return communityName;
}
public String[] getLinks() {
return links;
}
public String getCode() {
return code;
}
public Double getMemberCount() {
return memberCount;
}
public String getCommunityImage() {
return communityImage;
}
public Integer getPk() {
return pk;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeDouble(this.balance);
parcel.writeLong(this.creationDate);
parcel.writeString(this.description);
parcel.writeDouble(this.offerCount);
parcel.writeString(this.communityIcon);
parcel.writeString(this.communityDescription);
parcel.writeString(this.communityName);
parcel.writeString(this.code);
parcel.writeDouble(this.memberCount);
parcel.writeString(this.communityImage);
parcel.writeInt(this.pk);
}
}
Перед тем, как передать этот объект через умысел каждое значение является правильным. После передачи значение pk и некоторые строковые значения изменяются. Например, pk равно 5, а после прохождения - 3801203.
Может кто-нибудь помочь мне в этом, потому что я не вижу проблемы.
Я думаю, что вижу небольшую ошибку; try 'pk = (Integer) pk.readValue (null);' в конструкторе. Я подозреваю, что что-то связано с autoboxing из 'int' в' Integer', но я не уверен, что нет обратного действия - для автоматического преобразования 'Integer' в' int' – Shark
Вы читаете ссылки, но вы их не пишете ????? Существует несоответствие ... –
о, я был неправ, это, скорее всего, ссылки. – Shark