2010-03-22 95 views
1

我按下按钮时开始活动,并且通常(在其他应用程序中)没有问题。但是当我按下这个应用程序中的按钮,我得到一个“无法元帅值”的错误。开始活动时出错

精确(ISH)从logcat的错误:

2月3日至22日:49:02.883: WARN/System.err的(252): 了java.lang.RuntimeException:包裹: 不能编组值 {CLASSNAME} @ 44dcf1b8

我觉得这可能与我传递给意图的额外有关。我将ArrayList作为序列化传递给这个新的意图。我关心的是ArrayList包含的数据结构没有被序列化(因为它是个人数据结构)。

数组列表内容数据结构是否导致了这种情况?我错过的其他东西?

回答

2

尝试传递一个Parcelable而不是一个Serializable对象,这将解决问题。

+0

谢谢,我今晚会检查一下! – Adam 2010-03-22 12:20:40

3

确保你的类也实现了Serializable。仅仅因为ArrayList本身可以被序列化,并不意味着如果你的类不是可序列化的,序列化就可以工作。如果你尝试序列化一个没有实现Serializable的类的ArrayList,这个错误就是你将会收到的错误。

0

确保您使用类实现Serializable

如果你做这样的事情:

Cars cars; 
bundle.putSerializable("mySerializable", (java.io.Serializable) cars); 

确保汽车类实现Serializable接口

public class Cars implements Serializable{