5

和标题说的差不多。

我有一个复选框,选中它会将一个字符串放入共享首选项,当未选中时应该删除相同的字符串。

我想使用 editor.remove 但它要求一个键而不是一个字符串值,我似乎无法弄清楚...... id 将是:"recept" + (fav_popis.getInt("brojanje", 0) + 1)但这在字符串之间不起作用,后来用于创建一个列表视图!

editor.putInt("brojanje", fav_popis.getInt("brojanje", 0) + 1);

editor.putString("recept" + (fav_popis.getInt("brojanje", 0) + 1), s_product);

任何帮助表示赞赏。

谢谢!

4

1 回答 1

9

使用您的复选框文本作为共享首选项文件的键。

    SharedPreferences prefs = context.getSharedPreferences(name, mode);
    SharedPreferences.Editor editor = prefs.edit();
    String key = checkbox.getText();

    if(checkbox.isChecked()) {
        editor.putString(key, null);
    } else {
        editor.remove(key);
    }
    editor.commit();

    // if you want to get all the list of checkboxes checked to show in listview
    Set<String> keys = prefs.getAll().keySet();
    for(String key : keys) {
        Log.d(TAG, key);
    }
于 2012-09-21T14:49:54.160 回答