【发布时间】:2016-07-18 09:58:42
【问题描述】:
我有一个已存储在共享首选项中的数组列表。我想在数组列表中添加另一个项目。 每当我尝试在数组列表中添加一个项目时,它都会删除存储在数组列表中的所有先前数据
如何在不删除共享首选项中以前的数据的情况下添加项目
ArrayList<String> cartArrayListID,cartArrayListName,cartArrayListPrice,cartArrayListImage;
String cartID,cartName,cartPrice,cartImage;
cartArrayListID=new ArrayList<>();
cartArrayListName=new ArrayList<>();
cartArrayListPrice=new ArrayList<>();
cartArrayListImage=new ArrayList<>();
cartArrayListID.add(cartID);
cartArrayListName.add(cartName);
cartArrayListPrice.add(cartPrice);
cartArrayListImage.add(cartImage);
SharedPreferences sprefCart=getSharedPreferences("CARTINFO", Context.MODE_PRIVATE);
SharedPreferences.Editor editorCart=sprefCart.edit();
Gson gson = new Gson();
String id_=gson.toJson(cartArrayListID);
String name_=gson.toJson(cartArrayListName);
String price_=gson.toJson(cartArrayListPrice);
String image_=gson.toJson(cartArrayListImage);
editorCart.putString("ID", id_);
editorCart.putString("NAME", name_);
editorCart.putString("PRICE", price_);
editorCart.putString("IMAGE", image_);
editorCart.apply();
Toast.makeText(ProductActivity.this, "Added to cart", Toast.LENGTH_SHORT).show();
【问题讨论】:
-
发布您的代码....
-
您必须发布您的代码以便我们为您提供帮助,我认为您不会从 SharedPreferences 中检索任何内容,因此每次添加项目时它都会创建一个新列表。
-
@MuhammedRefaat 正在检索数据,但每当我将另一个数据添加到 arraylist 并将其保存到共享首选项时,先前的数据将被删除,即它不是将数据添加到现有的 arraylist,而是将其替换为以前的数据
标签: android arraylist sharedpreferences