问题描述
我想在活动之间传递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 (将#修改为@)