在购买商品时,大家可以自定义数字加减控件,来确定购买商品的实际数量,如何实现此控件,请参考下文:
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。