1.报错信息如下:
class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations
2.Bean类属性如下:
data class AppInfoBean(
val appName: String?,
val appIcon: Drawable,
val appPackage: String?,
val appActivity: String? = null,
val thirdApp: Boolean = false
) : Parcelable {
经过一番百度搜刮,终于找到了原因所在,就是list在存储时需要序列化,但是Drawable类型不支持,我去,这是很基础的知识阿!
3.解决思路很简单,就是
-
可以通过将
Drawable
转换为Bitmap
、资源 ID 或 Base64 字符串间接实现。 -
对于
List<Drawable>
,可以将每个Drawable
转换为byte[]
或String
,然后存储为List<byte[]>
或List<String>
。 -
推荐使用
Bitmap
或资源 ID 的方式,因为它们更高效且易于管理。