android:有没有办法从共享首选项中删除字符串而不是键值?

Dad*_*adi 5 android shared preferences

几乎就是标题所说的.

我有一个复选框,在检查时将一个字符串放入共享的首选项,并且当未选中时应该删除相同的字符串.

我想使用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);
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

谢谢!

knv*_*rma 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);
    }
Run Code Online (Sandbox Code Playgroud)