Intent putextra可序列化对象数组

时间:2013-07-12 11:25:29

标签: android serialization android-intent

我的问题是带有可序列化对象数组的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);

感谢。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

此外,使用Parcelable会更有效率。 You can find a tutorial here