public class Adder extends LinearLayout {
public AdderListener lisener;
public TextView et_num;
public TextView del;
public TextView add;
//对外提供一个点击的回调接口
public interface AdderListener{
void onAttClick(View v);
void onDelClick(View v);
}
public void setOnAddDelClick(AdderListener listener){
if (listener!=null){
this.lisener=listener;
}
}
public Adder(Context context) {
this(context,null);
}
public Adder(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public Adder(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context, attrs, defStyleAttr);
}
private void initView(Context context, AttributeSet attrs, int defStyleAttr) {
View view = View.inflate(context, R.layout.adder_item, this);
//获取控件
add = view.findViewById(R.id.txt_add);
del = view.findViewById(R.id.txt_delete);
et_num = view.findViewById(R.id.et_number);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
lisener.onAttClick(v);
}
});
del.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
lisener.onDelClick(v);
}
});
}
//对外提供一个修改数字的方法
public void setNumber(int number){
if(number>0){
et_num.setText(number+"");
}
}
//对外提供一个获取当前数字的方法
public int getNumber(){
String string = et_num.getText().toString();
int i = Integer.parseInt(string);
return i;
}
}
在调用加减器的适配器中
viewHolder.adder.add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a++;
viewHolder.adder.et_num.setText(a+"");
}
});
viewHolder.adder.del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (a>1){
a–;
viewHolder.adder.et_num.setText(a+"");
}
}
});