我在意图中传递自定义Arraylist时遇到错误。
Parcel: unable to marshal value com.kahoindia.dev.models.KaHOStudentModel@62bceea
这就是传递方式
KaHOSelectedObj selObject = new KaHOSelectedObj(); /*Parcelable */
selObject.setmIntent(mContext);
selObject.setSelectedStudents(mSelectedStudents);
Intent intent = new Intent(mContext, KaHOMyInputsActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelable("SelectedStudents", selObject);
intent.putExtras(bundle);
startActivity(intent);
我正在使用Parcelable,但我无法编组..在行启动活动的调用函数中运行时错误。请帮忙继续!
public class KaHOSelectedObj implements Parcelable
{
private Context mIntent;
private ArrayList<KaHOStudentModel> mSelectedStudentObj;
public Context getmIntent() {
return mIntent;
}
public void setmIntent(Context mIntent) {
this.mIntent = mIntent;
}
public ArrayList<KaHOStudentModel> getSelectedStudents() {
return mSelectedStudentObj;
}
public void setSelectedStudents(ArrayList<KaHOStudentModel> mObjects) {
this.mSelectedStudentObj = mObjects;
}
public static final Parcelable.Creator<KaHOSelectedObj> CREATOR = new Creator<KaHOSelectedObj>() {
@Override
public KaHOSelectedObj createFromParcel(Parcel source) {
KaHOSelectedObj selObj = new KaHOSelectedObj();
selObj.mSelectedStudentObj = source.readArrayList(null);
return selObj;
}
@Override
public KaHOSelectedObj[] newArray(int size) {
return new KaHOSelectedObj[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeList(mSelectedStudentObj);
}
}