美文网首页
Android 加减

Android 加减

作者: 人心所向便是阳光 | 来源:发表于2018-11-21 20:27 被阅读0次

    add_and_subtract.xml(布局文件)

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/an   droid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="#a9a7a7">
        <TextView
            android:id="@+id/tvSub"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="--"
            android:textColor="@color/colorAccent"
            android:textSize="14sp" />
    
        <TextView
            android:id="@+id/tvNumber"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="10dp"
            android:textColor="@color/colorAccent"
            android:textSize="14sp" />
    
        <TextView
            android:id="@+id/tvAdd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="+"
            android:textColor="@color/colorAccent"
            android:textSize="14sp" />
    </LinearLayout>
    

    AddAndSubtractView 加减 (自定义组合控件)

    public class AddAndSubtractView extends LinearLayout {
    private View mView;
    private TextView add,sub,number;
    private OnNumChangedListener onNumChangedListener;
    public AddAndSubtractView(Context context) {
        this(context,null);
    }
    
    public AddAndSubtractView(Context context,AttributeSet attrs) {
        this(context, attrs,-1);
    }
    
    public AddAndSubtractView(Context context,AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //添加布局和初始化控件
        initView(context);
        //监听
        initListenter();
    }
    //加减的监听
    private void initListenter() {
        //加
        add.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //调用加数的方法
                add();
            }
        });
        //减
        sub.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //调用减数的方法
                sub();
            }
        });
    }
    //减得方法
    private void sub() {
        //控件初始化的时候已经给了  1  获取
        String sub = number.getText().toString();
        //String类型转换成Int类型
        int parseInt = Integer.parseInt(sub);
        //判断
        if (parseInt>1){
            parseInt--;
            setCurentCount(parseInt);
        }else {
            ToastUtil.showToast("不能再少了");
        }
    }
    //加的方法
    private void add() {
        //控件初始化的时候已经给了  1 获取
        String add = number.getText().toString();\
        //String类型转换成Int类型
        int parseInt = Integer.parseInt(add);
        parseInt++;
        setCurentCount(parseInt);
    }
    //加减的方法都调用它  把加减的值传给接口
    public void setCurentCount(int parseInt) {
        //更新 数量
        number.setText(parseInt+"");
        //判断
        if (onNumChangedListener!=null){
            onNumChangedListener.onNumChanged(this,parseInt);
        }
    }
    public int getCurentCount(){
        return Integer.parseInt(number.getText().toString());
    }
    //set方法
    public void setOnNumChangedListener(OnNumChangedListener onNumChangedListener) {
        this.onNumChangedListener = onNumChangedListener;
    }
    //初始化控件
    private void initView(Context context) {
        //添加组合控件的布局文件
        mView=View.inflate(context,R.layout.add_and_subtract,this);
        //控件初始化
        add=mView.findViewById(R.id.tvAdd);
        sub=mView.findViewById(R.id.tvSub);
        number=mView.findViewById(R.id.tvNumber);
        //初始的时候给1
        number.setText("1");
    }
    //提供点击的接口
    public interface OnNumChangedListener {
        void  onNumChanged(View view,int curNum);
    }
    }
    

    相关文章

      网友评论

          本文标题:Android 加减

          本文链接:https://www.haomeiwen.com/subject/pqlhqqtx.html