在我的項目,我有一個類實現Parcelable爲:安卓parcelable例外
public class cursorParcel implements Parcelable{
private long id;
private long edc;
private String name;
private String notes;
private long details;
public cursorParcel() {
id = 0;
edc = 0;
details = 0;
notes = null;
name = null;
}
public cursorParcel(Parcel in){
id = in.readLong();
edc= in.readLong();
details= in.readLong();
name= in.readString();
notes=in.readString();
}
public void setCursor (Cursor cursor){
id = cursor.getLong(1);
edc = cursor.getLong(cursor.getColumnIndex("edc"));
details = cursor.getLong(cursor.getColumnIndex("details"));
notes = cursor.getString(cursor.getColumnIndex("notes"));
name = cursor.getString(cursor.getColumnIndex("name"));
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeLong(id);
arg0.writeLong(edc);
arg0.writeLong(details);
arg0.writeString(name);
arg0.writeString(notes);
}
public long getId(){
return id;
}
public long getEdc(){
return edc;
}
public long getDetails(){
return details;
}
public String getName(){
return name;
}
public String getNotes(){
return notes;
}
public static final Parcelable.Creator<cursorParcel> CREATOR = new Parcelable.Creator<cursorParcel>() {
public cursorParcel createFromParcel(Parcel in) {
return new cursorParcel(in);
}
public cursorParcel[] newArray(int size) {
return new cursorParcel[size];
}
};
}
,我將其捆綁,並把它傳遞到意圖,當我解開它,我得到一個異常。
Bundle bundle = this.getIntent().getExtras();
if (bundle!=null){
cursorParcel cursor = bundle.getParcelable("cursor");
}
此時我得到一個ClassCastException。 請問我出錯的地方。
需要投:'cursorParcel光標=(cursorParcel)bundle.getParcelable( 「光標」) ;' – yorkw 2012-04-24 23:53:44
你可以請你發佈代碼,你把'cursorParcel'類(順便說一句,Java中的類應該以大寫字母開頭)放到'Bundle'和'Intent'中? – m0skit0 2012-08-02 15:38:07