开源中文网

您的位置: 首页 > 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

Tags:控件 数量 商品
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明