我试图从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--;
}
如何删除特定的学科对象?
答案 0 :(得分:5)
在尝试删除时,在较小的情况下保存值和纪律时,您正在使用带有大写字母D的纪律。 如果你创建一个常量的DISCIPLINE =“纪律”来避免这种问题会很好。