Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)
2017-12-24 16:53
681 查看
电商项目中常常有购物车这个功能,做个很多项目了,都有不同的界面,选了一个来讲一下。
主要包含了 店铺分类,侧滑删除,商品筛选,增加和减少,价格计算等功能。
看看效果图:
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224162757162-1372463675.jpg)
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224162831068-226571999.jpg)
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224163031553-254559380.jpg)
重要代码:
private void showExpandData(){
cartExpandAdapter=new CartExpandAdapter(this,cartExpandablelistview,cartInfo.getData());
cartExpandablelistview.setAdapter(cartExpandAdapter);
int intgroupCount = cartExpandablelistview.getCount();
for (int i=0; i<intgroupCount; i++)
{
cartExpandablelistview.expandGroup(i);
}
/**
* 全选
*/
cartExpandAdapter.setOnItemClickListener(new OnViewItemClickListener() {
@Override
public void onItemClick(boolean isFlang, View view, int position) {
cartInfo.getData().get(position).setIscheck(isFlang);
int length=cartInfo.getData().get(position).getItems().size();
for (int i = 0; i < length; i++) {
cartInfo.getData().get(position).getItems().get(i).setIscheck(isFlang);
}
cartExpandAdapter.notifyDataSetChanged();
showCommodityCalculation();
}
});
/**
* 单选
*/
cartExpandAdapter.setOnClickListenterModel(new OnClickListenterModel() {
@Override
public void onItemClick(boolean isFlang, View view,int onePosition, int position) {
cartInfo.getData().get(onePosition).getItems().get(position).setIscheck(isFlang);
int length=cartInfo.getData().get(onePosition).getItems().size();
for (int i = 0; i < length ; i++) {
if (! cartInfo.getData().get(onePosition).getItems().get(i).ischeck()){
if (!isFlang){
cartInfo.getData().get(onePosition).setIscheck(isFlang);
}
cartExpandAdapter.notifyDataSetChanged();
showCommodityCalculation();
return;
}else {
if (i== ( length-1)){
cartInfo.getData().get(onePosition).setIscheck(isFlang);
cartExpandAdapter.notifyDataSetChanged();
}
}
}
showCommodityCalculation();
}
});
cartExpandAdapter.setOnClickDeleteListenter(new OnClickDeleteListenter() {
@Override
public void onItemClick(View view, int onePosition, int position) {
Toast.makeText(MainActivity.this,"删除操作",Toast.LENGTH_LONG).show();
}
});
/***
* 数量增加和减少
*/
cartExpandAdapter.setOnClickAddCloseListenter(new OnClickAddCloseListenter() {
@Override
public void onItemClick(View view, int index, int onePosition, int position,int num) {
if (index==1){
if (num>1) {
cartInfo.getData().get(onePosition).getItems().get(position).setNum((num - 1));
cartExpandAdapter.notifyDataSetChanged();
}
}else {
cartInfo.getData().get(onePosition).getItems().get(position).setNum((num + 1));
cartExpandAdapter.notifyDataSetChanged();
}
showCommodityCalculation();
}
});
}
这是我项目中用到的购物车,基本的功能都有了的。
有需要的小伙们,可以参考一下。
主要包含了 店铺分类,侧滑删除,商品筛选,增加和减少,价格计算等功能。
看看效果图:
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224162757162-1372463675.jpg)
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224162831068-226571999.jpg)
![](http://images2017.cnblogs.com/blog/1041439/201712/1041439-20171224163031553-254559380.jpg)
重要代码:
private void showExpandData(){
cartExpandAdapter=new CartExpandAdapter(this,cartExpandablelistview,cartInfo.getData());
cartExpandablelistview.setAdapter(cartExpandAdapter);
int intgroupCount = cartExpandablelistview.getCount();
for (int i=0; i<intgroupCount; i++)
{
cartExpandablelistview.expandGroup(i);
}
/**
* 全选
*/
cartExpandAdapter.setOnItemClickListener(new OnViewItemClickListener() {
@Override
public void onItemClick(boolean isFlang, View view, int position) {
cartInfo.getData().get(position).setIscheck(isFlang);
int length=cartInfo.getData().get(position).getItems().size();
for (int i = 0; i < length; i++) {
cartInfo.getData().get(position).getItems().get(i).setIscheck(isFlang);
}
cartExpandAdapter.notifyDataSetChanged();
showCommodityCalculation();
}
});
/**
* 单选
*/
cartExpandAdapter.setOnClickListenterModel(new OnClickListenterModel() {
@Override
public void onItemClick(boolean isFlang, View view,int onePosition, int position) {
cartInfo.getData().get(onePosition).getItems().get(position).setIscheck(isFlang);
int length=cartInfo.getData().get(onePosition).getItems().size();
for (int i = 0; i < length ; i++) {
if (! cartInfo.getData().get(onePosition).getItems().get(i).ischeck()){
if (!isFlang){
cartInfo.getData().get(onePosition).setIscheck(isFlang);
}
cartExpandAdapter.notifyDataSetChanged();
showCommodityCalculation();
return;
}else {
if (i== ( length-1)){
cartInfo.getData().get(onePosition).setIscheck(isFlang);
cartExpandAdapter.notifyDataSetChanged();
}
}
}
showCommodityCalculation();
}
});
cartExpandAdapter.setOnClickDeleteListenter(new OnClickDeleteListenter() {
@Override
public void onItemClick(View view, int onePosition, int position) {
Toast.makeText(MainActivity.this,"删除操作",Toast.LENGTH_LONG).show();
}
});
/***
* 数量增加和减少
*/
cartExpandAdapter.setOnClickAddCloseListenter(new OnClickAddCloseListenter() {
@Override
public void onItemClick(View view, int index, int onePosition, int position,int num) {
if (index==1){
if (num>1) {
cartInfo.getData().get(onePosition).getItems().get(position).setNum((num - 1));
cartExpandAdapter.notifyDataSetChanged();
}
}else {
cartInfo.getData().get(onePosition).getItems().get(position).setNum((num + 1));
cartExpandAdapter.notifyDataSetChanged();
}
showCommodityCalculation();
}
});
}
这是我项目中用到的购物车,基本的功能都有了的。
有需要的小伙们,可以参考一下。
代码下载Github:https://github.com/DickyQie/android-shoppingcart
相关文章推荐
- Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)
- Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)
- JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
- AngularJS购物车功能增加/删除/价格的计算
- ECSHOP商品购买数量增加加减按钮插件(包含购物车商品数量增加减少,自动更新)
- Android 购物车编辑全选,取消全选 + 计算商品价格
- 淘宝京东购物车价格计算,商品店铺联动js
- Android实现仿淘宝购物车增加和减少商品数量功能demo示例
- 属性动画+购物车+全选反选+选中计算价格+单个删除
- Android购物车demo(多店铺带商品,类似京东购物车)
- Android 购物车选择商品加减和价格合计
- JSP类似购物车根据后台数据自动生成一行商品,点击按钮实现数量价格自动增加
- js购物车选中商品实现计算商品总价格
- Android自定义控件之高仿京东购物车添加或者减少商品数量功能
- jquery 无刷新添加/删除 input行 实时计算购物车价格
- html angular购物车全选+全删+批量删除+单独删除+模糊查找+筛选价格区间
- ECSHOP商品分类筛选自定义价格区间
- 小程序:购物车项目案例(加减商品数量、全选与全不选、价格汇总、删除提示)
- 购物车增加、减少商品时动画效果:jQuery.Fly.js插件使用方法