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