1. 报错内容
Type is not directly supported by ‘Parcelize’ Annotate the parameter type with ‘@RawValue’ if you want it to be serialized using ‘writeValue()’
背景
class ManageCommonlyBean(val data: Data) : ResponseBaseModel() {
data class Data(
val records: List<Record>,
)
@Parcelize
data class Record(
xxxxxx....(其他参数)
val cdUser: CdUser,
) : Parcelable
data class CdUser(
val headImgurl: String,
)
}
这时候对CdUser 类进行序列化的时候 会报上述错误
根据报错提示 在 CdUser 的字段的类型前面加上 @RawValue 注解 、类名上加上@Parcelize注解 后再实现Parcelable 就可以了
class ManageCommonlyBean(val data: Data) : ResponseBaseModel() {
data class Data(
val records: List<Record>,
)
@Parcelize
data class Record(
xxxxxx....(其他参数)
val cdUser: CdUser,
) : Parcelable
@Parcelize
data class CdUser(
val headImgurl: @RawValue String,
) : Parcelable
}