简体   繁体   English

无法将可拆分对象ArrayList传递给片段活动

[英]Not able to pass parcelable object ArrayList to a fragment activity

I have a Activity A which has a ArrayList of object which i parceable.. Object is : 我有一个活动A,该对象具有我可以更改的对象的ArrayList。对象是:

    public class DashBoardPOJO implements Parcelable {

private String dashBoardName;
private String dashBoardId;
private String dashBoardStatus;
private ArrayList<DashBoardDataPOJO> dashBoardDataList;
private boolean loaded;

public ArrayList<DashBoardDataPOJO> getDashBoardDataList() {
    return dashBoardDataList;
}

public void setDashBoardDataList(
        ArrayList<DashBoardDataPOJO> dashBoardDataList) {
    this.dashBoardDataList = dashBoardDataList;
}

public boolean isLoaded() {
    return loaded;
}

public void setLoaded(boolean loaded) {
    this.loaded = loaded;
}

public String getDashBoardStatus() {
    return dashBoardStatus;
}

public void setDashBoardStatus(String dashBoardStatus) {
    this.dashBoardStatus = dashBoardStatus;
}

@Override
public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {

    dest.writeString(dashBoardName);
    dest.writeString(dashBoardId);
    dest.writeList(dashBoardDataList);

}

public static final Parcelable.Creator<DashBoardPOJO> CREATOR = new Parcelable.Creator<DashBoardPOJO>() {
    public DashBoardPOJO createFromParcel(Parcel in) {
        return new DashBoardPOJO(in);
    }

    public DashBoardPOJO[] newArray(int size) {
        return new DashBoardPOJO[size];
    }
};

public DashBoardPOJO() {

    dashBoardName = null;
    dashBoardId = null;
    dashBoardDataList = null;
    /*
     * userName=null; userId=null;
     */

}

private DashBoardPOJO(Parcel in) {

    dashBoardName = in.readString();
    dashBoardId = in.readString();
    in.readList(dashBoardDataList, null);

}

// GETTERS AND SETTERS............

public String getDashBoardName() {
    return dashBoardName;
}

public void setDashBoardName(String dashBoardName) {
    this.dashBoardName = dashBoardName;
}



public String getDashBoardId() {
    return dashBoardId;
}

public void setDashBoardId(String dashBoardId) {
    this.dashBoardId = dashBoardId;
}

} }

I want to pass the ArrayList to a activity which extends Fragment Activity. 我想将ArrayList传递给扩展Fragment Activity的活动。

I am sending the object like this 我正在发送这样的对象

                                                       Intent intent = new Intent(
                                                            DashboardActivity.this,
                                     BaseFragmentActivity.class);

                                                     intent.putParcelableArrayListExtra("dashBoardList", dashBoardList);
                                                    startActivity(intent);

And receiving it at the fragment activity like this 并在这样的片段活动中接收它

        dashboardList = getIntent().getExtras().getParcelableArrayList("dashBoardList");

But still the intent is returninig me a null value... Pls help... 但是我的意图仍然是为我返回一个空值...请帮助...

Try this: 尝试这个:

private DashBoardPOJO(Parcel in) {
    dashBoardName = in.readString();
    dashBoardId = in.readString();
    dashBoardDataList = (ArrayList<DashBoardDataPOJO>) in.readArrayList(DashBoardDataPOJO.class.getClassLoader());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM