Try this:
private DashBoardPOJO(Parcel in) {
dashBoardName = in.readString();
dashBoardId = in.readString();
dashBoardDataList = (ArrayList<DashBoardDataPOJO>) in.readArrayList(DashBoardDataPOJO.class.getClassLoader());
}
Question
I have a Activity A which has a ArrayList of object which i parceable.. Object is :
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.
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...
Solution
Try this:
private DashBoardPOJO(Parcel in) {
dashBoardName = in.readString();
dashBoardId = in.readString();
dashBoardDataList = (ArrayList<DashBoardDataPOJO>) in.readArrayList(DashBoardDataPOJO.class.getClassLoader());
}