java.lang.ClassCastException:android.os.Parcelable []无法转换为com.hfad.myapp.MyObj []

问题描述

我想在活动之间传递MyObj []。

我正在使用Intent和Parcelable这样做,但是当我尝试在活动B中接收该数据时,出现错误: “ java.lang.classCastException:android.os.Parcelable []无法转换为com.hfad.myapp.MyObj []”。

我看到很多人对此有疑问,但找不到我的案子的解决方案。

此答案不能解决android.os.Parcelable[] cannot be cast to... Error

MyObj类

@Entity (tableName = "myobj")
public class MyObj implements Parcelable {
    @PrimaryKey(autoGenerate = true)
    private int id;

    private String productName;
    private int numberOfproducts;

    protected MyObj (Parcel in) {
        id = in.readInt();
        productName = in.readString();
        numberOfproducts = in.readInt();
    }

    @Override
    public void writetoParcel(Parcel dest,int flags) {
        dest.writeInt(id);
        dest.writeString(productName);
        dest.writeInt(numberOfproducts);
    }

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

    public static final Creator<MyObj> CREATOR = new Creator<MyObj>() {
        @Override
        public MyObj createFromParcel(Parcel in) {
            return new MyObj(in);
        }

        @Override
        public MyObj[] newArray(int size) {
            return new MyObj[size];
        }
    };

    public int getId() {
        return id;
    }

    public String getProductName() {
        return productName;
    }

    public int getNumberOfproducts() {
        return numberOfproducts;
    }

    public void setId(int id) {
        this.id = id;
    }


    public MyObj(String productName,int numberOfproducts) {
        this.productName = productName;
        this.numberOfproducts = numberOfproducts;

    }
}

活动A

Intent intent = new Intent(getContext(),ActivityB.class);
intent.putExtra("array",array);
startActivity(intent);

活动B

//Here the error occurs
MyObj[] myArray = (MyObj[]) getIntent().getParcelableArrayExtra("array");

是否可以解决此问题? 还是应该使用其他方法在活动之间传递数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...