android - 如何通过在android中单击按钮从购物车中删除商品
问题描述
我可以通过以下代码长按所选商品从购物清单中删除商品
listcart.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
model=d.get(i);
final String orderno=model.getOrderno();
AlertDialog.Builder msg=new AlertDialog.Builder(CartActivity.this)
.setTitle("Delete Item")
.setMessage("Are you sure delete this item "+model.getItemname())
.setIcon(R.drawable.applogo)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface,int i){
DBLite db=new DBLite(CartActivity.this);
db.DeleteItem(orderno);
d=new ArrayList<>(db.GetCart(CartActivity.this));
adapterCart=new Cart_Adapter(CartActivity.this,d);
listcart.setAdapter(adapterCart);
txtOrderTotal.setText(String.valueOf(db.GetSum()));
}
}).setNegativeButton("No",null);
msg.create();
msg.show();
return false;
}
});
我想通过单击 (x) 图像删除此项目。如何为此目的自定义该代码,如下图所示:
解决方案
我找到了一种方法并且它有效。我通过 cartAdapter 活动处理删除按钮,其中 c=context , ass=arrayList<>
viewHolder.imgdelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder msg=new AlertDialog.Builder(c)
.setTitle("Delete Item")
.setMessage("Are you sure delete this item "+data.getItemname())
.setIcon(R.drawable.applogo)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface,int i){
DBLite db=new DBLite(c);
db.DeleteItem(data.getOrderno());
ass=new ArrayList<>(db.GetCart(c));
adapterCart=new Cart_Adapter(c,ass);
listcart.setAdapter((ListAdapter) adapterCart);
txtOrderTotal.setText(String.valueOf(db.GetSum()));
}
}).setNegativeButton("No",null);
msg.create();
msg.show();
}
});