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