我对Android开发很新,我试图用8个项目构建一个ListView,每个项目都有复选框。已经设置了它们,但我不知道如何通过从SharedPreferences中检索key.value-pairs来设置一个/多个盒子。
我认为我非常接近,但缺少一两行代码:(
这是我在onCreate方法中的代码:
lv = (ListView) findViewById(R.id.lvMain);
getPreferences(MODE_PRIVATE).edit().putString("Spiel4", "yes").commit();
lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, lvItems));
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
for (int i=1;i<9;i++) {
tmpString = null;
tmpString = getPreferences(MODE_PRIVATE).getString("Spiel"+i,"");
if (tmpString.equals("yes")) {
// -----> MISSING LINE HERE <-----
Log.i(tag,"Spiel"+i+"-value is YES!");
}
}
p.s。:我的第一篇文章,格式化欺骗了我:(
答案 0 :(得分:4)
你可以使用
lv.setItemChecked(i, true);
在缺失的行上添加此行:)
答案 1 :(得分:1)
您是否考虑过PrefenceActivity或PreferenceFragement? 看一眼: http://developer.android.com/guide/topics/ui/settings.html
另一种选择是编写自己的适配器,这也不难。看那个: http://www.vogella.com/articles/AndroidListView/article.html#adapterown_custom