2014-02-10 167 views
0

我有一個活動A,其具有對象的ArrayList的我parceable .. 對象是:不能parcelable對象的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; 
} 

}

我想通過ArrayList擴展到一個擴展Fragment Activity的活動。

我送的對象這樣

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

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

,並在片段活動收到像這樣

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

但仍意圖returninig我一個空值...請幫助。 ..

回答

0

試試這個:

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

獲取錯誤...不能將void拋給ArrayList user1901079

+0

@ user1901079對不起,我的錯誤。我編輯了答案,請立即嘗試 – nikmin

相關問題