3

我想包裹具有“对象”数据类型的值。
为此,我正在使用writeValue(Object v)方法。

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeValue(lockMemberScore);
        dest.writeValue(lockFollowedMemberScore);
        dest.writeValue(lockGroupAvgScore);
    }

但它给了我以下错误

01-01 11:22:00.479: E/SyncService(9647): Parcel: unable to marshal value java.lang.Object@4122e3c0
4

1 回答 1

5

您不能将通用对象写入 Parcel。

writeValue(Object v)可以处理一长串数据类型(可在文档中找到),但通用对象不是其中之一......基本上你v不是:原始数据类型、Bundle、Map 等,它不实现 Parcelable 或 Serializable ; 所以writeValue()确实知道如何处理您的特定对象。

于 2013-01-01T06:43:32.997 回答