热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Android自定义商品购买数量加减控件

这篇文章主要为大家详细介绍了Android自定义商品购买数量加减控件的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在购买商品时,大家可以自定义数字加减控件,来确定购买商品的实际数量,如何实现此控件,请参考下文:

1.自定义数字加减控件的要求

创建Module -NumberAddSubView

A_输入的只能是数字,而且不能通过键盘输入

B_通过加减按钮操作数字

C_监听加减按钮

D_数组有最小值和最大值的限制

E_自定义属性 

2.提供接口,让外界监听到数字的变化

1_设置接口

@Override
public void onClick(View v) {
 if (v.getId() == R.id.btn_sub) {
    //Toast.makeText(mContext,"减",Toast.LENGTH_SHORT).show();
  subNum();
  if (onButtonClickListenter != null) {
   onButtonClickListenter.onButtonSubClick(v, value);
  }
 } else if (v.getId() == R.id.btn_add) {
    //Toast.makeText(mContext,"加",Toast.LENGTH_SHORT).show();
  addNum();
  if (onButtonClickListenter != null) {
   onButtonClickListenter.onButtonAddClick(v, value);
  }
 }
}
 
public interface OnButtonClickListenter {
 /**
  * 当增加按钮被点击的时候回调该方法
  *
  * @param view
  * @param value
  */
 public void onButtonAddClick(View view, int value);
 
 /**
  * 当减少按钮被点击的时候回调这个方法
  *
  * @param view
  * @param value
  */
 public void onButtonSubClick(View view, int value);
}
 
private OnButtonClickListenter onButtonClickListenter;
 
public void setOnButtonClickListenter(OnButtonClickListenter onButtonClickListenter) {
 this.OnButtonClickListenter= onButtonClickListenter;
}

2_监听变化

public class MainActivity extends AppCompatActivity {
 
 private NumberAddSubView nb_addsub_view;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  nb_addsub_view = (NumberAddSubView) findViewById(R.id.nb_addsub_view);
 
  nb_addsub_view.setOnButtonClickListenter(new NumberAddSubView.OnButtonClickListenter() {
   @Override
   public void onButtonAddClick(View view, int value) {
    Toast.makeText(MainActivity.this,"AddClick Vaule=="+value,Toast.LENGTH_SHORT).show();
   }
 
   @Override
   public void onButtonSubClick(View view, int value) {
    Toast.makeText(MainActivity.this,"SubClick Vaule=="+value,Toast.LENGTH_SHORT).show();
   }
  });
 }
}

github完整代码: https://github.com/ganchuanpu/NumberAddSubView

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • 随着EOS主网的成功启动,众多开发者和投资者对其给予了高度关注。本文旨在介绍如何构建EOS开发环境,包括所需的基本硬件配置、软件安装步骤以及常见问题的解决方案。 ... [详细]
  • 本文介绍并分享了三个个人开源项目,涵盖单元测试中HttpContext的可测试性增强、Visual Studio插件开发以及单元测试报告自动生成工具。 ... [详细]
  • 本文详细介绍了在使用 GitHub 进行代码推送时遇到 'failed to push some refs' 错误的解决方案,包括具体原因分析和操作步骤。 ... [详细]
  • 百度云加速节点IP白名单配置指南:宝塔面板Nginx防火墙应用
    百度云加速为已备案的网站提供免费加速服务,但使用宝塔面板自带Nginx防火墙的用户需将百度云加速的CDN IP段加入白名单以确保正常访问。本文将详细介绍如何操作。 ... [详细]
  • 本文将详细介绍NSRunLoop的工作原理,包括其基本概念、消息类型(事件源)、运行模式、生命周期管理以及嵌套运行等关键知识点,帮助开发者更好地理解和应用这一重要技术。 ... [详细]
  • 本文详细介绍了如何在两台运行 Windows Server 2003 的计算机上配置两个 MySQL 实例以实现主从复制。每台计算机分别命名为 Master 和 Slave,确保系统分区及 MySQL 安装路径的正确配置。 ... [详细]
  • 三大Python学习利器网站推荐
    本文将介绍三个在Python学习过程中极为有用的网站,特别是对于初学者而言,这些资源能提供巨大的帮助。 ... [详细]
  • 本文探讨了如何通过调整页面的文档模式设置,解决JSP Grid在Quirks模式下无法正常使用的常见问题。 ... [详细]
  • 微信小程序koa获取微信accesstoken ... [详细]
  • Oracle 10g 中约束的详细应用与管理
    本文详细介绍了 Oracle 10g 数据库中如何在表和列上使用各种约束,包括 Check 约束、Not Null 约束、Foreign Key 外键约束、Unique 约束等,并提供了具体的 SQL 示例及操作步骤。 ... [详细]
  • 微信小程序实现拍照与图片上传功能
    本文介绍如何在微信小程序中实现用户通过拍照或从相册选择图片,并将图片上传至服务器的功能,包括调用相关API和处理上传响应。 ... [详细]
  • 深入理解设计模式之观察者模式
    本文详细介绍了观察者模式,这是一种行为设计模式,适用于当对象状态发生变化时,需要通知其他相关对象的场景。文中不仅解释了观察者模式的基本概念,还通过Java代码示例展示了其实现方法。 ... [详细]
  • Node.js 中 GET 和 POST 请求的数据处理
    本文详细介绍了如何在 Node.js 中使用 GET 和 POST 方法来处理客户端发送的数据。通过示例代码展示了如何解析 URL 参数和表单数据,并提供了完整的实现步骤。 ... [详细]
  • 通过特定网站,用户可以直接在网页上运行Matlab代码,无需下载或安装任何软件。访问以下链接了解更多:https://www.mathworks.cn/products/matlab-online.html ... [详细]
author-avatar
viggieg-may_789
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有