实现购物车商品数量+1、-1按钮的效果
来源:互联网 发布:mysql group by 索引 编辑:程序博客网 时间:2024/05/08 23:02
需求:楼主最近在做一个商城类的APP,购物页面和购物车中都要实现一个+1、-1按钮的功能,用于动态来指定商品的数量
废话不多说,开始撸码:
1.自定义一个AddSubView继承于线性布局,因为布局文件中要使用就实现两个参数的构造方法
package com.atguigu.add_sub_view;import android.content.Context;import android.text.TextUtils;import android.util.AttributeSet;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;/** * Created by xpf on 2016/11/22 :) * Wechat:18091383534 * Function:自定义购物车的增加删除按钮 */public class addSubView extends LinearLayout implements View.OnClickListener { private Context mContext; private ImageView iv_sub; private ImageView iv_add; private TextView tv_number; private int currentValue = 1; // 默认为1 private int minValue = 1; private int maxValue = 10; // 实际情况为最大库存 public addSubView(Context context, AttributeSet attrs) { super(context, attrs); this.mContext = context; // 把布局实例化并且把当前的view加入到当前视图中 // 把布局文件实例化,并且加载到AddSubView类中 View.inflate(context, R.layout.add_sub_view, this); iv_sub = (ImageView) findViewById(R.id.iv_sub); iv_add = (ImageView) findViewById(R.id.iv_add); tv_number = (TextView) findViewById(R.id.tv_number); // 注意此处不能写成tv_number.setText(getCurrentValue()),但可以这样写tv_number.setText(getCurrentValue() + ""); setCurrentValue(getCurrentValue()); iv_sub.setOnClickListener(this); iv_add.setOnClickListener(this); } public int getCurrentValue() { String strValue = tv_number.getText().toString(); if (!TextUtils.isEmpty(strValue)) { currentValue = Integer.parseInt(strValue); } return currentValue; } public void setCurrentValue(int currentValue) { this.currentValue = currentValue; tv_number.setText(currentValue + ""); } public int getMinValue() { return minValue; } public void setMinValue(int minValue) { this.minValue = minValue; } public int getMaxValue() { return maxValue; } public void setMaxValue(int maxValue) { this.maxValue = maxValue; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_sub: subNumber(); break; case R.id.iv_add: addNumber(); break; }// Toast.makeText(mContext, "当前的值为:" + currentValue, Toast.LENGTH_SHORT).show(); } private void subNumber() { if (currentValue > minValue) { currentValue--; } setCurrentValue(currentValue); if (onAddSubClickListener != null) { onAddSubClickListener.onNumberChange(currentValue); } } private void addNumber() { if (currentValue < maxValue) { currentValue++; } setCurrentValue(currentValue); if (onAddSubClickListener != null) { onAddSubClickListener.onNumberChange(currentValue); } } private OnAddSubClickListener onAddSubClickListener; public void setOnAddSubClickListener(OnAddSubClickListener onAddSubClickListener) { this.onAddSubClickListener = onAddSubClickListener; } public interface OnAddSubClickListener { void onNumberChange(int value); }}
2.定义一个加1和减1的接口回调
主要实现就是上面的代码,布局很简单我就不贴了,最后附上demo的下载地址:下载demo
需要的去下载。
效果展示:
由于本人的水平有限,难免会出现一些问题,如果有任何问题或者更好的想法都可以一起分享学习,欢迎打扰!
0 0
- 实现购物车商品数量+1、-1按钮的效果
- 实现类似于购物车控制商品数量的按钮
- Android天猫购物车EditText编辑商品数量效果
- 修改购物车商品数量
- 商品添加购物车实现动画效果
- JSP类似购物车根据后台数据自动生成一行商品,点击按钮实现数量价格自动增加
- 模仿购物车实现ListView中商品数量的添加以及总价的调整
- HTML angular购物车:加减按钮改变数量+全选+低于1时提示删除商品+计算所有商品总价+清空购物车+单独删除+输入内容小于1时,自动变为1+反选
- jquery来实现的添加商品和减少商品数量,用于购物车等实时改变价格
- ecshop优化2-商品页购买数量加减按钮ecshop购物车页加减按钮
- php基于thinkphp的购物车--能够更改商品数量
- 减少购物车中的商品数量
- jQuery实现商品飞入购物车效果插件
- 购物车商品的数据存储器实现
- 【Kotlin】一个有趣的商品数量加减交互控件(商详页或者购物车商品数量的加减)
- Android将商品加入购物车的动画效果
- jQuery实现购物车物品数量的加减(减到1时不能减少)
- 商品详情页面,点击按钮将对应的商品加入购物车
- 信息论与编码题库
- 汇编第二次试验
- vi / vim 编辑器的基本使用介绍
- PHP + mysql 对日期的操作
- PHP - 数组的排序函数
- 实现购物车商品数量+1、-1按钮的效果
- hdu4727 The Number Off of FFF
- 停车场
- shell有流程控制语句
- 原型设计的快速方法docker-compose
- 练习
- Yii2的主从数据库如何设置?
- Java的可变参数列表
- wifi连接流程