Android 如何在recyclerview中添加和减去数量?
我已经尝试了很多方法,但无法理解为什么代码不适用于数量的递增和递减。我在stackoverflow中看到了很多问题,但没有一个是在android studio中。顺便说一句,我使用firebase作为我的后端。Android 如何在recyclerview中添加和减去数量?,android,cart,product-quantity,Android,Cart,Product Quantity,我已经尝试了很多方法,但无法理解为什么代码不适用于数量的递增和递减。我在stackoverflow中看到了很多问题,但没有一个是在android studio中。顺便说一句,我使用firebase作为我的后端。 此代码段来自Recyclerview适配器onbindviewholder方法。您可能需要将product\u quantity&productArrayList作为类的公共变量。我不确定您是如何定义它的,因为您的代码没有显示它。read您是否检查了cartListkeys.getpos
此代码段来自Recyclerview适配器onbindviewholder方法。您可能需要将product\u quantity&productArrayList作为类的公共变量。我不确定您是如何定义它的,因为您的代码没有显示它。read您是否检查了cartListkeys.getposition的值?另外,请尝试使用“addOnCompleteListener”检查问题将代码以文本形式发布。代码的图像是完全无用的。我以图像的形式给出了所有数据,因为我在stackoverflow中的文本格式有问题。每次按下按钮时,请通过获取数量值并通知适配器来进行更改,以代替创建另一个变量。
product_quantity = productArrayList.get(position).getQuantity();
holder.display_quantity.setText(String.valueOf(product_quantity));
// holder.selected_quantity.setText("Selected Quantity: " + String.valueOf(productArrayList.get(position).getQuantity()));
/*
* When the select quantity button is pressed in the Cart Fragment via this activity( that is the recyclerview )
* it shows a dialog which allows the user to change the quantity. The quantity interaction has been done in the CartQuantityActivity.
* */
holder.btn_add_quantity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
product_quantity++;
if (product_quantity > 4) {
product_quantity = 4;
}
cartRef.child(cartlistKeys.get(position)).child("quantity").setValue(product_quantity);
productArrayList.get(position).setQuantity(product_quantity);
holder.display_quantity.setText(String.valueOf(product_quantity));
}
});
holder.btn_subtract_quantity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
product_quantity--;
if (product_quantity < 1) {
product_quantity = 1;
}
cartRef.child(cartlistKeys.get(position)).child("quantity").setValue(product_quantity);
productArrayList.get(position).getQuantity();
holder.display_quantity.setText(String.valueOf(product_quantity));
}
});