从保存在sharedPreferences中的Arraylist <object>中删除一个对象

时间:2016-02-13 19:34:13

标签: java android arraylist sharedpreferences

大家好我一直在寻找一种方法来保存和检索带有自定义对象的Arraylist到android Sharedpreferences。幸运的是,我有办法使用这个enter image description here

来做到这一点
{{1}}

现在这里有一个部分,我只想删除arraylist中的一个对象,我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以读取数组,删除元素并将其保存回来:

public void removeElement(CartItem item) {
    ArrayList<CartItem> items = readArray();
    items.remove(item);
    saveArray(items);
}

P.S。如果您没有同步执行此方法的严重动机,我建议您在保存方法中将commit()替换为apply()(保存将是异步的)。

答案 1 :(得分:-1)

您的代码中已经提到了从SharePreferences获取json并转换为对象部分,如果您知道需要删除的对象CartItem,那么步骤。

  1. 覆盖FlxG.mouse.setSimpleNativeCursorData("custom", BitmapData); FlxG.mouse.registerNativeCursor("custom", MouseCursorData); 中的equals,这将有助于比较列表中的对象。
  2. CartItem如果是,则继续并删除它。 Arraylist.conatins(Object)