AndroidRuntime error: Parcel: un

2019-12-23  本文已影响0人  黑键手记

为啥报这个错呢?

今天 app 突然闪退了,看了下 log,爆出了题目上的问题

AndroidRuntime error: Parcel: unable to marshal value

那就无脑搜一波呗

找到了 stackoverflow 地址

https://stackoverflow.com/questions/3818745/androidruntime-error-parcel-unable-to-marshal-value

报错的原因是: bean 没有序列化

然后检查我的项目,发现我在进行 intent 跳转的时候,只给其中一个 bean 实现了 serializable 接口,而另外一个 bean 竟然没有实现,所以就报错了

解决方法

让这个 bean 实现 serializable 接口;
如果这个 bean 是内部类,最好将这个大类所有的类都实现这个接口。

题外话

这个爆出来的问题并不是很直接,导致我完全没有头绪,只能搜一波了
如果能懂 marshal 这个单词的意思,其实能够猜出来一些了,marshal整理的意思,那么报错的中文意思是无法整理一些值,无法整理,那就让这些值按照 java 现有的接口排序就行了,继承 Serializable、或者 Parcelable 接口即可。

上一篇下一篇

猜你喜欢

热点阅读