伙计们,我正在一家商店应用程序上工作,我发现在向购物车活动添加产品时出现问题,问题是当我添加1种产品时,它添加了,但添加了多个以上的产品并不能正常工作。添加 关闭应用程序并在活动之间进行切换时,我使用共享的首选项及其工作,但该项目保留在购物车活动中,但问题是有更多项目。
productView活动
addToCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (cartList == null) {
cartList = new ArrayList<>();
}
cartClass product = new cartClass(b.getString("ItemTitle"), b.getString("ItemPrice"), b.getInt("ItemImage"));
cartList.add(product);
saveItems();
}
}
public void saveItems()
{
SharedPreferences sharedPreferences = getSharedPreferences("shared preferences",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(cartList);
editor.putString("CartList",json);
editor.apply();
}
购物车活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
ItemsAddedToCart = findViewById(R.id.itemsAddRV);
Total = findViewById(R.id.TotalPrice);
buy = findViewById(R.id.buy_);
back = findViewById(R.id.back_b);
home = findViewById(R.id.floatingHome);
loadItems();
fillCart = new FillCart(this, cartList, Total);
ItemsAddedToCart.setAdapter(fillCart);
ItemsAddedToCart.setLayoutManager(new LinearLayoutManager(this));
i++;
}
public void loadItems()
{
SharedPreferences sharedPreferences = getSharedPreferences("shared preferences",MODE_PRIVATE);
Gson gson = new Gson();
String json = sharedPreferences.getString("CartList",null);
Type type = new TypeToken<ArrayList<cartClass>>() {}.getType();
cartList = gson.fromJson(json,type);
if(cartList == null)
{
cartList = new ArrayList<>();
}
}
购物车适配器已绑定
@Override
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, final int position) {
cartClass cart = cartList.get(position);
((ViewHodler) holder).image.setImageResource(cart.getImage());
((ViewHodler) holder).title.setText(cart.getTitle());
((ViewHodler) holder).price.setText(cart.getPrice());
}