自定义加减布局

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 + "");
    }
}

猜你喜欢

转载自blog.csdn.net/owen_bland/article/details/80174459