首页 > 系统 > Android > 正文

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

2019-12-12 04:46:46
字体:
来源:转载
供稿:网友

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

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

创建Module -NumberAddSubView

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

B_通过加减按钮操作数字

C_监听加减按钮

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

E_自定义属性 

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

1_设置接口

@Overridepublic 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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表