2011-03-16 88 views
0

我有已知数量的复选框(例如100)。我希望能够存储这些以便我可以在运行时读取它们(并重新填充复选框)。我宁愿使用SharedPreferences来存储。在Android中存储多个布尔值

什么是最好的方式来存储/检索这些布尔值?

回答

1

如果你只是想保存在同一个活动场景的复选框的状态,那么十个分量的布尔ArrayList,如果你再想让他们当你运行你的应用程序下一次或别的东西比SharedPreferences是这个更好的方法。

我写了一个示例代码:

SharedPreferences prefs = getSharedPreferences(
          "CheckBoxStates", Activity.MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 

editor.putBoolean("CheckBox1", mCheckBox1.isChecked()); 
editor.commit(); 

正如你有很多的CheckBox如此简单,你可以在这里使用一个循环条件。

+0

但如何将我将它保存到共享首选项?我应该使用哪种数据类型? – yydl 2011-03-16 05:10:59

+0

@joseph:检查更新的答案。只需要使用布尔数据类型。 – 2011-03-16 05:17:52

+0

想通了你的意思。但我认为这可能会造成性能问题。或者会吗?使用West_Link并解析我自己,还是使用你的并让共享首选项解析它更快? – yydl 2011-03-16 05:20:43

1

存储在一个字符串的所有布尔值包含逗号分隔的0-1序列,例如:“1,0,1,1”,意思是“真,假,真实的,真正的”