从 SharedPreferences 中删除对象

Removing object from SharedPreferences

我正在尝试从 sharedPreferences 中删除特定对象,我已经尝试了几次,但我不知道如何正确地进行。

这是我用来从 SharedPreferences 中保存和排除学科的两种方法:

public void saveDisciplineData(Discipline discipline){
    editor.putString("Discipline" + count, gson.toJson(discipline));
    editor.commit();
    count++;
}

public void excludeDisciplineData(Discipline discipline){
    for (int i = 0; i < count ; i++) {
        Discipline d = gson.fromJson(sp.getString("discipline" + i, ""), new TypeToken<Discipline>() {
        }.getType());
        if (d.equals(discipline)){
            editor.remove("discipline" + i);
            break;
        }
    }

    editor.commit();
    count--;
}

如何删除特定的纪律对象?

您在保存值时使用大写 D 的纪律,在尝试删除时使用小写的纪律。 如果您创建一个常量 DISCIPLINE = "discipline" 来避免此类问题,那就太好了。