欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-03-03 15:35:22
在购买商品时,大家可以自定义数字加减控件,来确定购买商品的实际数量,如何实现此控件,请参考下文: 1.自定义数字加减控件的要求 创建module -number...

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

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

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

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

创建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

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