我想使用Parcelable傳遞自定義對象的數組。我在我的搜索中發現了一些討論,如link。我遵循這些例子,但無法找到對象數組的實現。我的問題是對象在新活動中變爲空。 我的實現如下。使用Parcelable對象傳遞對象數組
MY percelable對象
public class showStatisticsObj implements Parcelable{
public String dt = null;
public int totalmiles = 0;
public Date date = null;
public showStatisticsObj() { ; };
public showStatisticsObj(Parcel in) { readFromParcel(in); }
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel arg0, int arg1) {
// TODO Auto-generated method stub
arg0.writeString(dt);
arg0.writeInt(totalmiles);
}
public void readFromParcel(Parcel in) {
dt = in.readString();
totalmiles = in.readInt();
}
@SuppressWarnings("rawtypes")
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public showStatisticsObj createFromParcel(Parcel in)
{
return new showStatisticsObj(in);
}
public showStatisticsObj[] newArray(int size)
{
return new showStatisticsObj[size];
}
};
}
Parcelable[] passedArray = new Parcelable[totaldifferentDates];
for (int i=0; i<totaldifferentDates; ++i) {
passedArray[i] = showStatObj[i];
}
Intent displayintent = new Intent(this, DisplayStatistics.class);
displayintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
displayintent.putExtra("bundleObj", passedArray);
startActivity(displayintent);
在新的活動,我提取物作爲
Bundle bundle = getIntent().getExtras();
showStatObjinDisplay = (showStatisticsObj) bundle.getParcelable("bundleObj");
但showStatObjinDisplay爲空。 有什麼不對?請幫幫我。
你初始化showStatObjinDisplay? – amalBit