从SharedPreferences中删除对象

时间:2016-05-08 22:33:14

标签: java android android-sharedpreferences

我试图从sharedPreferences中删除一个特定对象,我已尝试了几次,但我不知道如何正确地做到这一点。

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

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--;
}

如何删除特定的学科对象?

1 个答案:

答案 0 :(得分:5)

在尝试删除时,在较小的情况下保存值和纪律时,您正在使用带有大写字母D的纪律。 如果你创建一个常量的DISCIPLINE =“纪律”来避免这种问题会很好。