仿淘宝购物车逻辑

原创 2016年08月28日 22:31:25

仿淘宝购物车全选反选逻辑

首先说明一下淘宝的购物车的逻辑,购物车里面有第一层店铺,第二层就是店铺下的商品,全选商品,那么店铺上的按钮就会被选中

白色的代表为店铺 红色的代表为商品。


然后我的想法recycleview嵌套recycleview,当然网上也有用ExpandableListView实现的 http://blog.csdn.net/u013278099/article/details/50822074

我的思想就是判断最下层 既就是商品(红色的Item) 来确定是否让店铺全选(灰色的Item),然后再判断店铺的选中状态,再判断最外层也就是最外面的全选功能。

然后我们list<List<Bean>>来记录他们的选中状态

店铺(灰色Item)的bean类

public class Bean {
    private Boolean isClick;
    private List<ChildBean> mChildBeen;

    public List<ChildBean> getChildBeen() {
        return mChildBeen;
    }

    public void setChildBeen(List<ChildBean> childBeen) {
        mChildBeen = childBeen;
    }

    public Boolean getClick() {
        return isClick;
    }

    public void setClick(Boolean click) {
        isClick = click;
    }
}

商品(红色Item)的bean类

    public class ChildBean {
    private Boolean isclick;

    public Boolean getIsclick() {
        return isclick;
    }

    public void setIsclick(Boolean isclick) {
        this.isclick = isclick;
    }
}

然后就是逻辑,红色Item 下层recycleview的Adapter的逻辑

        holder.second.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mBean.getChildBeen().get(position).setIsclick(!mBean.getChildBeen().get(position).getIsclick());
            notifyDataSetChanged();
            for (int i = 0; i < mBean.getChildBeen().size(); i++) {
                if(!mBean.getChildBeen().get(i).getIsclick()){
                    isallclick = false;
                    break;
                }else {
                    isallclick = true;
                }
            }
            if(isallclick){
                Toast.makeText(mContext,"全选了",Toast.LENGTH_LONG).show();
                mBean.setClick(true);
                mFirstAdapter.notifyDataSetChanged();
            }else {
                mBean.setClick(false);
                mFirstAdapter.notifyDataSetChanged();
            }
        }
    });

解析一下 isallclick是一个判断是否全选的标记 先判断一下红色的Item都有没有被选中如果没有则退出循环 isallclick为false,如果有则为true,然后刷新数据更新视图。

灰色Item 上层recycleview的Adapter的逻辑

//    判断有没有进行全选了 最外面的有没有全选
private void Isallclick(){
    for (Bean bean: firstclick) {
        if(bean.getClick()){
            isallclick = true;
        }else {
            isallclick = false;
            break;
        }
    }
    if(isallclick){
        mclick.setImageResource(R.drawable.check);
    }else {
        mclick.setImageResource(R.drawable.nocheck);
    }
}

跟上面的逻辑差不多一样 但是注意一点就是 如果红色Item全部点光了那么最外层的全选也是显示选中的样式。所以这个方也调用的地方有两处,在灰色Item点击事件里面,在onBindViewHolder里面。

最后就是判断最外层的全选了,只要我知道灰色Item有没有全选就可以了。

最后附上源码 https://github.com/justafreshman/TestAllSelect

购物车实现逻辑

先谈一下购物车的演变:         早期的购物车默认全选功能然后进行提交订单,但是狠多用户将购物车当成了收藏夹,只是收藏而不购买,如果每次都是全选的话,用户需要将收藏的商品手动勾选掉,体验比...
  • lifupingcn
  • lifupingcn
  • 2016年11月28日 15:13
  • 5409

仿淘宝购物车demo---增加和减少商品数量

在上一篇博客中,小编简单的介绍了如何使用listview来实现购物车,但是仅仅是简单的实现了列表的功能,随之而来一个新的问题,买商品的时候,我们可能不只想买一件商品,想买多个,或许有因为某种原因点错了...
  • u010850027
  • u010850027
  • 2015年09月22日 08:48
  • 5491

购物车实现逻辑【详解】

购物车实现逻辑详解  想要实现这样的效果: 1、首先要定义其模型 2、分析页面操作 ...
  • ruiguang21
  • ruiguang21
  • 2016年12月17日 21:09
  • 2280

仿淘宝购物车逻辑

仿淘宝购物车全选反选逻辑首先说明一下淘宝的购物车的逻辑,购物车里面有第一层店铺,第二层就是店铺下的商品,全选商品,那么店铺上的按钮就会被选中 白色的代表为店铺 红色的代表为商品。 然后我的想法...
  • sinat_17314503
  • sinat_17314503
  • 2016年08月28日 22:31
  • 937

高仿淘宝购物车分分钟让你集成

前言做商城类电商app购物车确实一直是一个难点,为什么难呢? 主要原因呢是他里面的逻辑复杂,然后 百度的资源好像都不太理想,好多就是一个简单的listView来实现根本就达不到开发的需求。然后 一...
  • u013278099
  • u013278099
  • 2016年03月08日 09:36
  • 17197

仿淘宝购物车,js选择效果

仿淘宝购物车,js选择效果先上界面图 跨境商品中不同的仓库,对应淘宝店中不同的店家。 其实功能不复杂,关键是checkbox的单选,多选,全选,不同状态ajax返回值的处理,还包括后台的处理代码块...
  • wanjian119
  • wanjian119
  • 2015年11月18日 20:55
  • 2324

简单实现购物车逻辑

activity,实现v层返回数据,适配器的点击一级列表和二级列表的监听接口,以及点击+商品和-商品的方法 public class MainActivity extends AppCompatAc...
  • ZhaoJingCong4880
  • ZhaoJingCong4880
  • 2018年01月11日 20:48
  • 29

Android自定义控件之购物车数量加减器

刚开始在网上搜寻了一番,没找到特别合适,所以就自己简单的写了一个,其实也没什么复杂,就是一个组合控件,记录一下,方便自己以后的使用,同时也希望可以帮助有需要的朋友。二、效果展示三、实现思路整个控件其实...
  • whitley_gong
  • whitley_gong
  • 2016年07月19日 17:02
  • 13672

Android仿淘宝购物车demo

夏的热情渐渐退去,秋如期而至,丰收的季节,小编继续着实习之路,走着走着,就走到了购物车,逛过淘宝或者是京东的小伙伴都知道购物车里面的宝贝可不止一件,对于爱购物的姑娘来说,购物车里面的商品恐怕是爆满,添...
  • u010850027
  • u010850027
  • 2015年08月20日 09:16
  • 14864

Android购物车的实现(升级版 仿淘宝)

前面有篇文章实现了Android 简单的购物车 这篇实现了购物车中商品按照店铺分类显示的 也就是淘宝购物车的显示方式。...
  • u014061684
  • u014061684
  • 2016年01月29日 17:40
  • 17603
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:仿淘宝购物车逻辑
举报原因:
原因补充:

(最多只允许输入30个字)