Android 如何使用SharedReferences在自定义listview中保存复选框的状态?

Android 如何使用SharedReferences在自定义listview中保存复选框的状态?,android,listview,checkbox,state,sharedpreferences,Android,Listview,Checkbox,State,Sharedpreferences,我的自定义列表视图中有复选框,我正在使用布尔数组保存这些复选框的状态。我想使复选框的状态在应用程序的整个生命周期内保持不变。我知道这可以通过SharedReference实现,但我不知道如何做到这一点 我知道这可以通过SharedReference实现,但我不知道如何实现 没有将可序列化对象推入SharedReference的选项。因此,您将被迫将布尔数组转换为支持的类型之一。我认为唯一有意义的方法是将数组的状态转换为如下字符串: "0|1|0|1|1" 然后将其推到共享首选项中。要做到这一点

我的自定义列表视图中有复选框,我正在使用布尔数组保存这些复选框的状态。我想使复选框的状态在应用程序的整个生命周期内保持不变。我知道这可以通过SharedReference实现,但我不知道如何做到这一点

我知道这可以通过SharedReference实现,但我不知道如何实现

没有将可序列化对象推入SharedReference的选项。因此,您将被迫将布尔数组转换为支持的类型之一。我认为唯一有意义的方法是将数组的状态转换为如下字符串:

"0|1|0|1|1"

然后将其推到共享首选项中。要做到这一点,您可以使用。但是,您必须编写一个解析方法,以便从SharedReferences中提取出值。这可能是最简单的方法。

你能指导我完成整个过程吗?我从来没有使用SharedReferences的经验。谷歌上有一些例子。关于您的情况,唯一的独特之处是放入一个值数组。是的,我知道,但在堆栈溢出的某个地方读到,每个复选框的状态可以使用SharedReferences的putBoolean方法单独保存,然后检索。你对这个想法有什么想法?看起来很麻烦,你必须迭代你的数组,为每个职位创建一个共享的偏好。然后在检索时,你必须做同样的事情。这听起来像是用更少的功能做更多的工作。例如,清理和执行其他操作会有点烦人。如何解析布尔字符串?