按下按钮时我正在开始活动,并且通常(在其他应用程序中)没有问题。但是,当我按下此应用程序中的按钮时,我收到“无法编组值”错误。
LogCat的确切(ish)错误:
03-22 02:49:02.883: WARN / System.err的(252): java.lang.RuntimeException:Parcel: 无法编组价值 {CLASSNAME} @ 44dcf1b8
我觉得这可能与我传递给意图的额外内容有关。我将一个ArrayList作为序列化传递给这个新意图。我担心的是ArrayList包含的数据结构没有被序列化(因为它是个人数据结构)。
数组列表内容数据结构是否导致此问题?我还缺少其他什么东西?
答案 0 :(得分:3)
确保您的类也实现了Serializable。仅仅因为ArrayList本身可以序列化,并不意味着如果您的类不可序列化,序列化将起作用。如果您尝试序列化未实现Serializable的类的ArrayList,则会出现此错误。
答案 1 :(得分:2)
尝试传递Parcelable而不是Serializable对象,这将解决问题。
答案 2 :(得分:0)
确保您使用的课程实现可序列化:
如果您这样做:
Cars cars;
bundle.putSerializable("mySerializable", (java.io.Serializable) cars);
确保Cars类实现serializable:
public class Cars implements Serializable{