Android 如何保存RecyclerView内容

Android 如何保存RecyclerView内容,android,android-recyclerview,Android,Android Recyclerview,我使用RecyclerView作为清单,可以用作杂货清单,例如,首先用户添加产品(项目)、价格和商店,然后我的应用程序将此项目对象添加到我的ArrayList适配器中;我的适配器中的每个项目都是一个相对布局,包含产品、价格和商店的3个文本视图。当用户关闭设备或关闭应用程序时,问题就会出现:RecyclerView将重置为nothing 在RecyclerView中保存项目以使其保持不变的最简单方法是什么?我是否保存在缓存中? 或 您需要以某种方式将数据保存到。对于较小的内容,最好使用Shared

我使用RecyclerView作为清单,可以用作杂货清单,例如,首先用户添加产品(项目)、价格和商店,然后我的应用程序将此
项目
对象添加到我的ArrayList适配器中;我的适配器中的每个项目都是一个相对布局,包含产品、价格和商店的3个文本视图。当用户关闭设备或关闭应用程序时,问题就会出现:RecyclerView将重置为nothing

在RecyclerView中保存项目以使其保持不变的最简单方法是什么?我是否保存在缓存中?


您需要以某种方式将数据保存到。对于较小的内容,最好使用
SharedReferences
。然后,重新打开应用程序时,将
SharedReferences
中的数据加载到
ArrayList
中,然后填充
RecyclerView

要使用
SharedReferences
,您需要将数据转换为
字符串
,因为
SharedReferences
只能处理基本数据类型。将大量数据转换为
字符串的最佳方法是将数据转换为
JSONObject
,然后将
JSONObject
转换为
String
(可存储在
SharedReferences
中)


JSON就像一个字典,它是一种存储键值对的方法。有关详细信息和它的外观示例,请参见。然后搜索如何使用JSON和Android(或参考)


编辑:如果您的
回收视图
显示的数据量很小,您可以将
集合
存储在您的
共享参考中。请参见

将数据保存到永久性存储器。对于较小的内容,将其放入JSON对象中,将该JSON作为字符串存储在
SharedReferences
中。然后,当您重新打开应用程序时,从存储器中填充
ArrayList
。因此,我将ArrayList数据保存在SharedReferences中?是的,您需要首先将其转换为
字符串
,因为SharedReferences只能存储基元类型。因此,转换为字符串的最佳方法是使用JSON保持数据的结构化。抱歉,我不理解JSON部分JSON就像一个字典,它是一种存储键值对的方法。有关详细信息和它的外观示例,请参见。然后搜索如何使用JSON和Android(参考:)如何将字符串转换为JSONObject?我如何将它们转换回来?