【发布时间】:2019-04-11 11:06:45
【问题描述】:
我有 recyclerview 并且它正在显示产品购物车列表,现在我添加了用户可以更改产品数量的功能,但问题是,如果我更改第一个项目的数量,它会影响下一个或其他项目也。任何人都可以检查这一点,我也发布了代码...................................... .........
private List<CartList> stList;
String prodName = "", imgURL = "", prodSize = "", prodColor = "", prdAvail = "";
double prodPrice = 0.0, totValue = 0.0;
int prodQty = 1, prdAvl = 0;
@NonNull
@Override
public CardViewDataAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
@SuppressLint("InflateParams")
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.layout_cartlist_item, null);
return new CardViewDataAdapter.ViewHolder(itemLayoutView);
}
CardViewDataAdapter(List<CartList> students) {
this.stList = students;
}
@Override
public void onBindViewHolder(@NonNull final CardViewDataAdapter.ViewHolder viewHolder, final int position) {
try {
prodName = stList.get(position).getCartList1().getProdName();
imgURL = stList.get(position).getCartList1().getProdImage();
prodSize = stList.get(position).getCartList1().getProdSize();
prodColor = stList.get(position).getCartList1().getProdColor();
prodQty = stList.get(position).getCartList1().getProdQty();
prodPrice = stList.get(position).getCartList1().getProdQty();
String productAvails = stList.get(position).getCartList1().getWarehouseDetail();
totValue = stList.get(position).getCartList1().getGrandTotal() -
stList.get(position).getCartList1().getShippingCost();
String avails[] = productAvails.split(":");
prdAvail = avails[2];
prdAvl = Integer.parseInt(prdAvail);
} catch (Exception e) {
e.printStackTrace();
}
try {
if (stList.get(position).getCartList1().getSeller_id() == 0
|| stList.get(position).getCartList1().getSeller_id() != 1) {
viewHolder.tvSellerName.setText("seller: Milmila");
} else {
viewHolder.tvSellerName.setText("seller: Seajol Solutions");
}
} catch (Exception e) {
e.printStackTrace();
}
viewHolder.tvName.setText(prodName);
viewHolder.tvProdPrice.setText("Rs. " + String.valueOf(totValue));
viewHolder.tvProdQty.setText("Qty: " + String.valueOf(prodQty));
viewHolder.tvProdSize.setText("Size: " + String.valueOf(prodSize));
viewHolder.tvProdColor.setText("Color: " + String.valueOf(prodColor));
if (prdAvail.isEmpty() || prdAvail.equalsIgnoreCase("0.0")) {
viewHolder.prdAvail.setText("Out Of Stock");
} else {
viewHolder.prdAvail.setText("Available in stock: " + prdAvail);
}
Glide.with(mContext)
.load(imgURL)
.apply(new RequestOptions()
.placeholder(R.drawable.no_image))
.into(viewHolder.prodImage);
viewHolder.chkSelected.setChecked(stList.get(position).getSelected());
viewHolder.chkSelected.setTag(stList.get(position));
// int quantity_count=prodQty = stList.get(position).getCartList1().getProdQty();
viewHolder.edt_product_qty.setText(String.valueOf(prodQty));
viewHolder.increase_product_qty.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
prodQty++;
viewHolder.edt_product_qty.setText(String.valueOf(prodQty));
}
});
viewHolder.decrease_product_qty.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (prodQty>1)
{
prodQty--;
viewHolder.edt_product_qty.setText(String.valueOf(prodQty));
}
}
});
【问题讨论】:
-
你能发布你的代码吗?
-
你可能使用同一个变量来显示每一行的数量,但是没有代码就不可能说出来
-
是的,没有代码我们无法确定您需要什么以及您面临的问题。
-
帖子已编辑......
-
@Ajay-Rlogical 请立即查看
标签: android android-recyclerview