0

我对 android-development 很陌生,我正在尝试构建一个包含 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!");
        }

    }

ps:我的第一篇文章,格式欺骗了我:(

4

2 回答 2

4

您可以使用

lv.setItemChecked(i, true);

在缺少的行上添加这一行:)

于 2013-02-15T12:56:52.193 回答
1

您是否考虑过 PrefenceActivity 或 PreferenceFragement?看看:http: //developer.android.com/guide/topics/ui/settings.html

另一种选择是编写自己的适配器,这也不难。看看: http ://www.vogella.com/articles/AndroidListView/article.html#adapterown_custom

于 2013-02-15T13:01:32.423 回答