首页 > 解决方案 > 如何通过在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) 图像删除此项目。如何为此目的自定义该代码,如下图所示:

应用截图

标签: androidbuttonshopping-cart

解决方案


我找到了一种方法并且它有效。我通过 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();
        }
    });

推荐阅读