2

我的问题是带有可序列化对象数组的 putextra 方法。我的意思是,如果我尝试底部代码,它会抛出Caused by: java.io.NotSerializableException:

这是代码:

 class Example implements Serializable
    {
      private int ID; // It has getters and setters and also other variables.
    }

Intent inte=new Intent(this,OTHERCLASS.class);
Example[] examples=new Example[]; // It's just an example.
Bundle bundle = new Bundle(); 
bundle.putSerializable("Details", examples);
inte.putExtras(bundle);
startActivity(inte);

谢谢。

4

2 回答 2

4

这是因为你不能序列化一个内部类而不使其父类可序列化。在您的情况下是您的活动。因此,只需为您的 Example 类创建一个新的 java 文件

于 2013-07-12T13:18:10.057 回答
3

尽管您的类是可序列化的,但您的类 ( ) 的项目数组Example[]是不可序列化的。编辑:感谢@gomino 指出这是错误的。我只是假设这是问题的原因,而没有真正考虑过。

此外,使用 Parcelable 会更有效。您可以在此处找到教程

于 2013-07-12T11:53:12.430 回答