我的 Activity 中有一个成员变量,它是一个 ArrayList。填充此 ArrayList 的对象是我定义的称为 RatingItem 的对象。 RatingItem 有几个成员变量,如评级、评论、id 等。
我想将此 ArrayList 保存在 onSaveInstanceState 中,以便它可以从 onRestoreInstanceState 中重新填充。做这个的最好方式是什么?我从未保存过如此复杂的对象的状态。
谢谢你的帮助
最佳答案
你应该让你的对象实现 Parcelable .基本上,您必须添加方法来从 Parcel
写入和读取对象的成员,然后添加自定义 CREATOR
具有几个静态工厂方法的内部类。第一个链接页面上有它的演示,但并不难。
然后你可以用Bundle.putParcelableArrayList()
一次性保存整个列表。 . (当你用 Bundle.getParcelableArrayList()
取回列表时,你必须转换列表,但它会正常工作。)
关于android - 自定义对象的 ArrayList 的保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469947/