在我的项目,我有一个类实现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