public CalculatorView(Context context, AttributeSet attrs) {
super(context, attrs);
//填充的條目佈局
View rootView = LayoutInflater.from(context).inflate(R.layout.calculator_layout, this);
btn_add = rootView.findViewById(R.id.btn_add);
btn_decrease = rootView.findViewById(R.id.btn_decrease);
tv_number = rootView.findViewById(R.id.tv_number);
btn_add.setOnClickListener(this);
btn_decrease.setOnClickListener(this);
}
@Override
public void onClick(View v) {
String numberString = tv_number.getText().toString();
int number = Integer.parseInt(numberString);
switch (v.getId()) {
case R.id.btn_decrease:
number = number - 1;
if (number < 0) {
number = 0;
//最小數量爲0
tv_number.setText(String.valueOf(number));
}
tv_number.setText(String.valueOf(number));
//接口回調回傳數字
onCalCulatorLisenter.onDecrese(number);
break;
case R.id.btn_add:
number = number + 1;
tv_number.setText(String.valueOf(number));
//接口回調回傳數字
onCalCulatorLisenter.onAdd(number);
break;
}
}
OnCalCulatorLisenter onCalCulatorLisenter;
public interface OnCalCulatorLisenter {
//減少
public void onDecrese(int number);
//增加
public void onAdd(int number);
}
public void setOnCalCulatorLisenter(OnCalCulatorLisenter onCalCulatorLisenter) {
this.onCalCulatorLisenter = onCalCulatorLisenter;
}
}
自定義加減器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.