自定義加減器

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;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章