硅谷商城6--购物车编辑实现

  

完成状态                                          编辑状态

1_设置点击事件和定义状态

在GovaffairPager类中

public class GovaffairPager extends BasePager {
    ............

    /**
     * 编辑状态
     */
    private static final int ACTION_EDIT = 0;
    /**
     * 完成状态
     */
    private static final int ACTION_COMPLETE = 1;

    @Override
    public void initData() {
        ......

        //设置编辑的点击事件
        btn_cart.setTag(ACTION_EDIT);
        btn_cart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int action = (int) btn_cart.getTag();
                if(action ==ACTION_EDIT){
                    //变成完成状态
                    showDelete();
                }else if(action ==ACTION_COMPLETE){
                    //变成编辑状态
                    hideDelete();
                }
            }
        });
    }

    /**
     * 隐藏删除按钮
     */
    private void hideDelete() {
        //1.文本设置-编辑
        btn_cart.setText("编辑");
        //2.状态设置编辑
        btn_cart.setTag(ACTION_EDIT);
        //3.数据设置非全选
        adapter.checkAll_none(true);
        adapter.checkAll();
        //4.隐藏按钮显示,显示结算按钮
        btn_delete.setVisibility(View.GONE);
        btn_order.setVisibility(View.VISIBLE);
        //5.价格重新计算
        adapter.showTotalPrice();
    }

    /**
     * 显示删除按钮
     */
    private void showDelete() {
        //1.文本设置-完成
        btn_cart.setText("完成");
        //2.状态设置完成
        btn_cart.setTag(ACTION_COMPLETE);
        //3.数据设置非全选
        adapter.checkAll_none(false);
        adapter.checkAll();
        //4.删除按钮显示,隐藏结算按钮
        btn_delete.setVisibility(View.VISIBLE);
        btn_order.setVisibility(View.GONE);
        //5.价格重新计算
        adapter.showTotalPrice();
    }
}

2_在适配器中删除选中的item

在GovaffairPager类中

//设置点击删除
btn_delete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //只是把选择的删除
        adapter.deleteCart();
    }
});

在适配器中的代码

/**
 * 删除选中的数据
 */
public void deleteData() {
//        if(datas != null && datas.size() >0){
//            for(int i=0;i<datas.size();i++){
//                ShoppingCart cart = datas.get(i);
//                if(cart.isCheck()){
//                    //1.删除本地缓存的
//                    cartProvider.deleteData(cart);
//                    //2.删除当前内存的
//                    datas.remove(cart);
//                    //3.刷新数据
//                    notifyItemRemoved(i);
//                    i--;
//                }
//            }
//        }

	if(datas != null && datas.size() >0){
		for(Iterator iterator = datas.iterator();iterator.hasNext();){
			ShoppingCart cart = (ShoppingCart) iterator.next();
			if(cart.isCheck()){
				//这行代码放在前面
				int position = datas.indexOf(cart);
				//1.删除本地缓存的
				cartProvider.deleteData(cart);
				//2.删除当前内存的
				//datas.remove(cart);
				iterator.remove();
				//3.刷新数据
				notifyItemRemoved(position);
			}
		}
	}
}

  

时间: 2024-10-12 11:05:09

硅谷商城6--购物车编辑实现的相关文章

商城项目购物车的实现

目录 一,新建购物车的实体类Cart 二,在选择商品类型页面进行页面跳转 三,在controller进行添加商品对象并记入session 四,购物车页面接收购物车信息并展示 五,补充说明 @(商城项目购物车的实现) 首先是springboot和thymeleaf整合的demo项目,然后使用session实现购物车 一,新建购物车的实体类Cart public class Cart implements java.io.Serializable{ private Shangpin shangpin

商城系统购物车功能分析实现

现在网上购物已经成了人们生活中不可缺少的一部分,今天我们来看下当我们从商城里面浏览搜索了商品,看到了自己喜欢的商品准备加入到购物车的这个功能实现. 购物车功能实现: 购物车功能流程: 功能分析: (1)我们平时购物的时候,有时候点击商品页面的加入购物车,然后商品就直接加入到购物车列表中,不管用户是否登录.然后我们换了一台设备,发现该网站我们之前在另一台设备上加入购物车的商品不存在.由此我们可以推断出:购物车列表的内容不是存放在数据库,而是在cookie中.,所以购物车功能实现是在客户端实现的.

16款购物商城添加购物车源码特效

jquery仿天猫商城点击加入购物车按钮商品动画飞到购物车里面效果 jquery文本框选择器_商品尺寸选择和商品价格选择添加到购物车 jQuery商品购物车自动计算金额总数表单提交 jquery添加购物车复选框,全选,反选,取消,商品数量统计价格 jquery商品飞入购物车动画效果代码 jquery数量加减插件_购物车商品数量加减_商品数字加减效果代码 html5弹出窗口点击购物车弹出商品清单列表代码 jquery数量加减插件制作购物车数量加减功能代码 jQuery仿天猫加入购物车代码点击商品飞

定制商城+在线DIY编辑系统PHP源码最新版本!!!

相册.台历.卡片.扑克.T恤.杯子等等轻松在线编辑,PC端移动端跨平台操作,流量一网打尽,最新分销功能可以轻松管理分销商设计订单,整站式解决方案. 系统每月在线更新免费的模板和素材,商家自己也可以设计模板上传使用,尺寸可以设置,界面LOGO可以换. 出图精度300DPI,下载即可印刷.方便高效! 前台 后台 定制商城源代码,免费开源.免费下载. 安装成功后即可浏览,你可以在后台->安装扩展功能上传安装插件,在代码调整中点击刷新后系统会重新建立缓存,此时前台会变成维护模式,你可在系统设置->网店

JSP---网上商城-&gt;修改购物车购物项的数量

Buy.jsp //修改购物车商品的数量 if (action != null && action.equals("update")) { Iterator<CartItem> it = c.getItems().iterator(); while (it.hasNext()) { CartItem item = it.next(); int count = Integer.parseInt(request.getParameter("p"

JS购物车编辑

显现了:第一件商品的加减 显现了:全选/全不选(使用prop而不是attr) 显现了:删除(遮罩层) 未实现:第二件商品的删除 未实现:小计及应付款额的初始化(写死的) 计算小数乘法时,要先乘100 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <style> .div1 { bord

硅谷商城第二版5--个人中心模块

   fragment_user.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&qu

硅谷商城第二版3--分类模块

1.采用SegmentTabLayout实现标签和分类切换 fragment_type.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tl="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" and

硅谷商城第二版2--首页模块

1.fragment_home.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&quo