如何通过从sharedPreferences中检索数据来检查simple_list_item_multiple_choice中的框?

时间:2013-02-15 12:48:38

标签: android checkbox sharedpreferences

我对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。:我的第一篇文章,格式化欺骗了我:(

2 个答案:

答案 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