没错 就是购物车
放图镇楼
某宝大体效果应该就是这样
购物车涉及到的功能
全选 ,反选,总金额,数量加减,结算金额等 差不多了
实现方式
RecyclerView嵌套RecyclerView
ExpandableListView 可折叠列表
使用ExpandableListView实现购物车
无需依赖 原生控件
ExpandableListView 简介
是一种用于垂直滚动展示两级列表的视图,组可以单独展开
布局代码
就4这么简单初始化控件
ButterKnife方式初始化请求数据
Retrofit+OkHttp+RxJava 请求
MVP回调 省略…………
成功拿到数据后 创建ExpandableListView 的适配器
忽略我的类名适配器中方法介绍
需重写10个抽象方法 不要怕都很简单
获取外/内层视图 需优化
使用ViewHolder 减少findViewById次数
复用 convertView 减少视图创建
外层优化内层也一样
展示数据
设置好适配器 数据就可以展示了
成功回调放张当前效果图
忽略我这粗糙的布局下面开始实现功能全选
逻辑是这样 通过适配器传递的List集合 来设置外层和内层的CheckBox状态
需要在外/内层列表的集合添加 isChecked 布尔值属性 添加get set方法 方便调用
明白上边这些白话后 代码来了
先给外/内层 CheckBox设置上默认状态
用于获取适配器集合全选/反选
组选
计算总金额及个数
在全选按钮监听中 调用该方法 传递相应集合
就可以了当前效果图
组选 计算金额
使用到了EventBus
单选
当前效果图
暂时就到这了 明天抽时间写下加减器的逻辑
晚安。
-----听君一席话,白读两年书
-----2020-0309-22:47 我爱生活 生活爱我 阿门。
加减器
首先自定义View (组合式View)
需要接口回调 数量
当用户点击 - 监听 当用户点击 + 监听当前效果图
实时计算金额展示
当数量改变 及时计算金额 并展示
自定义View 实例化后 通过viewHolder调用接口 回调传递的数据
这就可以了
再放效果图
到这 一个简陋的购物车就实现了
当用户点击去付款后 就会带着当前选中的数据 去支付
-----完
2020-03-10-22:12
网友评论