バンドルのロード中にエラーが発生しました。すべての初期化とキャストをチェックしましたが、これを解決できませんでした。これは私が取得エラーですボディ_scaleMeasurementバンドルに値を割り当てる際のClassCastException
package model;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.annotations.SerializedName;
public class BodyScaleMeasurement implements Parcelable {
@SerializedName("id")
private String id;
@SerializedName("client_platform_version")
private String client_platform_version;
@SerializedName("client_build_number")
@SerializedName("client_platform_data")
private Client_platform_data client_platform_data;
@SerializedName("ble_device_data")
private Ble_device_data ble_device_data;
private transient boolean is_synchronized;
public BodyScaleMeasurement() {
}
public BodyScaleMeasurement(String id, String client_platform_version, int client_build_number, Client_platform_data client_platform_data, Ble_device_data ble_device_data, boolean is_synchronized) {
this.id = id;
this.client_platform_version = client_platform_version;
this.client_build_number = client_build_number;
this.client_platform_data = client_platform_data;
this.ble_device_data = ble_device_data;
this.is_synchronized = is_synchronized;
}
public boolean is_synchronized() {
return is_synchronized;
}
public void setIs_synchronized(boolean is_synchronized) {
this.is_synchronized = is_synchronized;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getClient_platform_version() {
return client_platform_version;
}
public void setClient_platform_version(String client_platform_version) {
this.client_platform_version = client_platform_version;
}
public int getClient_build_number() {
return client_build_number;
}
public void setClient_build_number(int client_build_number) {
this.client_build_number = client_build_number;
}
public Client_platform_data getClient_platform_data() {
return client_platform_data;
}
public void setClient_platform_data(Client_platform_data client_platform_data) {
this.client_platform_data = client_platform_data;
}
public Ble_device_data getBle_device_data() {
return ble_device_data;
}
public void setBle_device_data(Ble_device_data ble_device_data) {
this.ble_device_data = ble_device_data;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.id);
dest.writeString(this.client_platform_version);
dest.writeInt(this.client_build_number);
dest.writeParcelable(this.client_platform_data, 0);
dest.writeParcelable(this.ble_device_data, 0);
dest.writeByte(is_synchronized ? (byte) 1 : (byte) 0);
}
protected BodyScaleMeasurement(Parcel in) {
this.id = in.readString();
this.client_platform_version = in.readString();
this.client_build_number = in.readInt();
this.client_platform_data = in.readParcelable(Client_platform_data.class.getClassLoader());
this.ble_device_data = in.readParcelable(Ble_device_data.class.getClassLoader());
this.is_synchronized = in.readByte() != 0;
}
public static final Parcelable.Creator<BodyScaleMeasurement> CREATOR = new Parcelable.Creator<BodyScaleMeasurement>() {
public BodyScaleMeasurement createFromParcel(Parcel source) {
return new BodyScaleMeasurement(source);
}
public BodyScaleMeasurement[] newArray(int size) {
return new BodyScaleMeasurement[size];
}
};
}
ため
Bundle bundle = getIntent().getExtras();
if (bundle.containsKey("MEASUREMENT_DATA")) {
body_scaleMeasurement = bundle.getParcelable("MEASUREMENT_DATA");
evaluate_info();
}
コード: リファレンスを参照してくださいしてください。添付した画像を参考にしてください。
BodyScaleMeasurement.java:338のどの行がありますか? – shmosel
this.ble_device_data = in.readParcelable(Ble_device_data.class.getClassLoader()); –
@shmoselコメントを確認してください –