public class AddView extends LinearLayout {
private TextView jian;
private EditText edNum;
private TextView add;
private int num;
public AddView(Context context) {
this(context, null);
}
public AddView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public AddView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
private void initView(Context context) {
View view = LayoutInflater.from(context).inflate(R.layout.carview, this, true);
//获取资源id
jian = (TextView) findViewById(R.id.jian);
edNum = (EditText) findViewById(R.id.ed_num);
add = (TextView) findViewById(R.id.add);
edNum.setText("1");
//添加
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//转换类型
num=Integer.parseInt(edNum.getText().toString());
num++;
edNum.setText(num+"");
if (addCallBack!=null){
addCallBack.numCallback(num);
}
addCallBack.numCallback(num);
}
});
//减少
jian.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num=Integer.parseInt(edNum.getText().toString());
num--;
if (num==0){
num=1;
Toast.makeText(getContext(),"商品数量不能小于1",Toast.LENGTH_SHORT).show();;
}
edNum.setText(num+"");
if (addCallBack!=null){
addCallBack.numCallback(num);
}
addCallBack.numCallback(num);
}
});
}
private AddCallBack addCallBack;
public void setAddView(AddCallBack addCallBack) {
this.addCallBack = addCallBack;
}
//接口
public interface AddCallBack{
void numCallback(int num);
}
}
xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/jian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="16sp"
/>
<EditText
android:id="@+id/ed_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
/>
<TextView
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="16sp"/>
</LinearLayout>
</LinearLayout>