I am getting below error while passing custom Arraylist in intent.
Parcel: unable to marshal value com.kahoindia.dev.models.KaHOStudentModel@62bceea
This is how am passing
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);
I am using Parcelable, but am getting unable to marshall.. run time error in the calling function at line start activity. Please help how to proceed with!
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);
}
}