我正在使用ArrayList<HashMap<String, String>>
来存储我的购物车商品。每次将项目添加到购物车时,项目详细信息都会设置为ArrayList
,然后调用setCart()
方法。
我想如果ArrayList
中的项目已经存在,那么通过调用setCart()
它不会覆盖以前的购物车项目。相反,它会将ArrayList
附加到已存在的ArrayList的末尾。我使用了ArrayList.add()方法,但它只适用于HashMap<String,String>
不适用于ArrayList<HashMap<String, String>>
public class AddtoCart extends Application {
ArrayList<HashMap<String, String>> cart;
public void setCart(ArrayList<HashMap<String, String>> data) {
cart = data;
}
public ArrayList<HashMap<String, String>> getCart() {
return cart;
}
public int getSize() {
return cart.size();
}
}
在addtocart
ArrayList
的{{1}}按钮上调用的方法
AddtoCart
}
答案 0 :(得分:1)
我有你的建议。
我们必须设计CartItem类而不是HashMap来使未来的更改更容易。
如果要在以后添加任何与标签相关的新属性,我们可以将这些属性添加到CartItem类。它将有助于在代码中实现模块化对象。
例:
public class CartItems
{
int tagPid;
String tagCategoy;
int price
String tagImage;
// getters and setters methods of above attributes
}
public class AddtoCart extends Application {
ArrayList<CartItems> cart;
//remaining code
}
答案 1 :(得分:0)
像这样更新您的方法
get(key)
或者,如果您宣布自己的Context
$.ajax({
type: "POST",
url: '/api/myapiname/apiactionname',
contentType: "application/json",
data: {
name: "Abhishek",
email: "abhi@abhi.com",
password: "******"
},
crossDomain:true,
success: function(data) { console.log(data); },
error: function(data) {console.log(data); },
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
},
});
您可以删除<svg>
<defs>
<g id="svgHelp" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none">
<path d="M1 12c0-6.075 4.925-11 11-11s11 4.925 11 11-4.925 11-11 11-11-4.925-11-11z"/>
<path d="M11.792 14v-1c1.609 0 3-1.391 3-3s-1.391-3-3-3c-1.194 0-2.342.893-2.792 1.921"/>
<path d="M12 17v1"/>
</g>
</defs>
</svg>
条件,然后执行 <use xlink:href="#svgHelp" x="0" y="0" />