我试图从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”以避免此类问题,那将是很好的。

08-04 20:17