我的问题是带有可序列化对象数组的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);
感谢。
答案 0 :(得分:4)
这是因为您无法在不使其父类可序列化的情况下序列化内部类。在您的情况下,您的活动。所以只需为Example类创建一个新的java文件
答案 1 :(得分:3)
虽然您的类是可序列化的,但是您的类(编辑:感谢@gomino指出这是错误的。我只是假设这是问题的原因而没有实际考虑它。 Example[]
)的项目数组不可序列化。
此外,使用Parcelable会更有效率。 You can find a tutorial here