android - 自定义对象的 ArrayList 的保存状态

标签 android

我的 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/

相关文章:

android - 停止媒体播放器

android - 如何将按钮从一个位置翻译到另一个位置android

javascript - 如何知道哪个 Activity 加载了 html 页面?

android - 选项菜单不显示文本

android - 从 ListView 中获取文本

android - ExtendedFloatingActionButton - 如何在按钮展开时达到与收缩时相同的高度

android - 警报管理器不会关闭

android - 读取自定义类列表时包裹解码未知类型代码

java - Android 滚动列表后会选择多个单选按钮。改变其状态

android - 文本转语音重音更改