【问题标题】:How can i check boxes from simple_list_item_multiple_choice via retrieving data from a sharedPreferences?如何通过从 sharedPreferences 中检索数据来选中 simple_list_item_multiple_choice 中的复选框?
【发布时间】:2013-02-15 12:48:37
【问题描述】:

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

【问题讨论】:

    标签: android checkbox sharedpreferences


    【解决方案1】:

    你可以使用

    lv.setItemChecked(i, true);
    

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

    【讨论】:

    • thx 伙计,这正是我想要的。不得不将其调整为 i-1 以与正确的行相关。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多