XML文件:
<Button android:background="#fff" android:textSize="20sp" android:id="@+id/child_reverse" android:text="一" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <EditText android:textStyle="bold" android:textSize="23sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/child_reverse" android:id="@+id/child_count" /> <Button android:id="@+id/child_add" android:background="#fff" android:textSize="25sp" android:text="+" android:layout_toRightOf="@id/child_count" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
JAVA文件:
private Button reverse; private Button add; private EditText countEdit; private CustomListener customListener; public CustomChangeNumView(Context context) { super(context); initView(context); } public CustomChangeNumView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initView(context); } public CustomChangeNumView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context); } public void initView(Context context) { View view= View.inflate(context, R.layout.changeview,null); reverse = (Button) view.findViewById(R.id.child_reverse); add = (Button) view.findViewById(R.id.child_add); countEdit = (EditText) view.findViewById(R.id.child_count); //减的时候回调 reverse.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int count = Integer.valueOf(countEdit.getText().toString()); if(count>1){ count--; countEdit.setText(count+""); if(customListener!=null){ customListener.jiajian(count); } } } }); //加的时候回调 add.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int count = Integer.valueOf(countEdit.getText().toString()); count++; countEdit.setText(count+""); if(customListener!=null){ customListener.jiajian(count); } } }); this.addView(view); } //设置接口 public interface CustomListener{ void jiajian(int count); } //设置回调方法 public void setCustomListener(CustomListener customListener){ this.customListener=customListener; } public void setEditText(int num) { if(countEdit !=null) { countEdit.setText(num + ""); } }