Android:包裹:无法编组价值

时间:2016-08-09 05:01:01

标签: android android-fragments

我在意图中传递自定义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);
    }
}

0 个答案:

没有答案