首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为捆绑包赋值时的ClassCastException

为捆绑包赋值时的ClassCastException
EN

Stack Overflow用户
提问于 2016-08-11 03:04:12
回答 2查看 44关注 0票数 1

加载捆绑包时出现错误。我已经检查了所有的初始化和类型转换,但无法解决这个问题。请参阅参考资料:

代码语言:javascript
复制
Bundle bundle = getIntent().getExtras();
if (bundle.containsKey("MEASUREMENT_DATA")) {
    body_scaleMeasurement = bundle.getParcelable("MEASUREMENT_DATA");
    evaluate_info();
}

body _scaleMeasurement的代码

代码语言:javascript
复制
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];
        }
    };
}

这就是我得到的错误。请参考我附上的图片。

EN

回答 2

Stack Overflow用户

发布于 2016-08-11 22:05:28

这是因为我将其他变量的类型从double更改为int。虽然这是意想不到的,但我自己并不理解它。我恢复了完成转换时所做的更改。

此外,转换后的值也发生了变化。例如:如果我发送50来捆绑一个密钥。它被设置为某个负整数。

票数 0
EN

Stack Overflow用户

发布于 2016-08-11 06:14:06

有没有可能是Client_platform_data implements ParcelableParcelable.Creator<Ble_device_data>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38881599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档