2
我正在嘗試將Task parcelable放入一個捆綁包中,以便將其從我的服務傳遞到活動,但我在處理我的自定義類型的ArrayList時遇到了一些麻煩。Make Class Parcelable error
任務:
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel prc, int arg1) {
// TODO Auto-generated method stub
prc.writeInt(id);
prc.writeString(timeStamp_string);
prc.writeString(timeToComplete_string);
prc.writeTypedArray(resources.toArray(), PARCELABLE_WRITE_RETURN_VALUE);
}
資源:
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel prc, int flags) {
// TODO Auto-generated method stub
prc.writeInt(id);
prc.writeString(timeStamp_string);
prc.writeString(resourceType);
prc.writeString(dataType);
prc.writeString(value);
prc.writeInt(taskId);
}
它給了我一個錯誤的prc.writeTypedArray函數內部任務:
Bound mismatch: The generic method writeTypedArray(T[], int) of type Parcel is not applicable for the arguments (Object[], int). The inferred type Object is not a valid substitute for the bounded parameter <T extends Parcelable>
如果資源是實現Parcelable然後我沒有看到問題出在哪裏。
編輯:我相信我固定了這部分。我用.writeParcelableList()INSTEAD。有人可以證實這種方法可行嗎?下面的問題仍然有效。
此外,當活動從意圖讀取任務時,我需要做一些計算來填充其他數據成員。什麼函數被稱爲那裏,我可以impliment做計算?它是readFromParcel(...)還是將Parcelable作爲參數的構造函數?
感謝