По сути, вы просто отслеживаете последний продукт, который пользователь добавил в корзину.
Каждый раз, когда ваш код достигает вашего RecyclerItemClickListener, вы заменяете предыдущий элемент новым.
То, что вам нужно объявить, это (как свойство класса):
private List<Product> productsList = new ArrayList()
Каждый раз, когда пользователь нажимает, чтобы добавить товар, вы просто добавляете его в список следующим образом:
productsList.add(Product)
А затем вы можете сериализовать и десериализовать список в ваших дополнениях Intent или даже просто сохранить сериализованную строку в файл кэша, который вы можете загрузить в следующем упражнении.
Вот лучшепример:
public class Product {
/** Property name */
String name;
/** Property salePrice */
String salePrice;
/** Property quantity */
String quantity;
/**
* Constructor
*/
public Product() {
}
/**
* Gets the name
*/
public String getName() {
return this.name;
}
/**
* Sets the name
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the salePrice
*/
public String getSalePrice() {
return this.salePrice;
}
/**
* Sets the salePrice
*/
public void setSalePrice(String value) {
this.salePrice = value;
}
/**
* Gets the quantity
*/
public String getQuantity() {
return this.quantity;
}
/**
* Sets the quantity
*/
public void setQuantity(String value) {
this.quantity = value;
}
}
Теперь вам нужен список продуктов в вашей ProductListActivity, и каждый раз, когда пользователь добавляет продукт в корзину, вы добавляете его в список, используя list.add () вместо того, что вы делали ввашей ModelCart с помощью вашего сеттера, который каждый раз заменяет список.