【问题标题】:What is the best way to store checkbox information?存储复选框信息的最佳方式是什么?
【发布时间】:2018-12-20 10:12:27
【问题描述】:
我与listview 的checkboxes 有一个活动,如下图所示:
此外,用户可以通过单击添加其他按钮添加任意数量的项目。如果用户去另一个活动,然后又去这个活动,checkboxes 需要以用户保存它的方式出现。我使用共享首选项来保存已选中和未选中的首选项。但是列表可能会变得很长,所以使用其他东西会更好吗?
【问题讨论】:
标签:
android
listview
checkbox
sharedpreferences
【解决方案1】:
您使用的是ListView。
这意味着您已经有某种ArrayList 来存储标签:FirstItem、SecondItem、... 和我看到的描述。
在这个 ListView 的适配器中,创建一个布尔字段说 isChecked 并在其中存储每个复选框的状态。
所以适配器将保存 3 个字段而不是 2 个。
【解决方案2】:
如果列表可能很长,并且每次再次打开时都需要重新创建它,最好将此数据存储在一些本地数据库中,例如room persistence library。
SharedPreferences 设计用于存储少量数据,例如在您的案例中有关某个特定项目的信息。