加减器(购物车常用)

MainActivity方法
package com.bawie.jiajianqi;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements Myjiajian.ss{

    private Myjiajian mMyjiajian;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //
        initView();

    }

    private void initView() {
        mMyjiajian = (Myjiajian) findViewById(R.id.Myjiajian);
        //调用自定义view 中的自定义的公共方法
        mMyjiajian.jiajian(this);
    }

    @Override
    public void getcount(int count) {

    }
}

Myjiajian新建方法继承 FrameLayout 

package com.bawie.jiajianqi;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;

public class Myjiajian extends FrameLayout implements View.OnClickListener {

    private ss ff;
    private Button jian;
    private EditText shu;
    private Button jia;

    //定义的一个公有的方法
    public void jiajian(ss s) {
        this.ff = s;
    }


    public Myjiajian(@NonNull Context context) {
        this(context, null);
    }

    public Myjiajian(@NonNull Context context, @Nullable AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public Myjiajian(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //加载自己定义的布局
        View view = View.inflate(context, R.layout.activity_myjiajian, this);
        //获取减按钮并设置点击事件
        jian = view.findViewById(R.id.jian);
        //设置减的监听  点击事件
        jian.setOnClickListener(this);
        //获取EditText的控件
        shu = view.findViewById(R.id.shu);
        //获取加按钮并设置点击事件
        jia = view.findViewById(R.id.jia);
        //设置加的监听  点击事件
        jia.setOnClickListener(this);
    }
    //点击事件
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            //减的方法
            case R.id.jian:
                //获取EditText得值
                int i = get();
                //判断i是否为小于或等于0
                if (i <= 0) {
                    //如果是小于或等于0就设置按钮不可用
                    jian.setEnabled(false);
                } else {
                    //如果不是小于或等于0就设置按钮可用
                    jian.setEnabled(true);
                    //EditText的值  向--
                    i--;
                    //判断i是否为小于或等于0
                    if (i <= 0) {
                        //如果是小于或等于0就设置EditText的值=1
                        i = 1;
                    }
                }
                //给EditText赋值
                shu.setText(i + "");
                break;
            //加的方法
            case R.id.jia:
                //获取EditText得值
                int i1 = get();
                //判断i是否为小于或等于0
                if (i1 <= 0) {
                    //如果是小于或等于0就设置按钮不可用
                    jia.setEnabled(false);
                } else {
                    //如果不是小于或等于0就设置按钮可用
                    jia.setEnabled(true);
                    //EditText的值  向--
                    i1++;
                }
        //给EditText赋值
        shu.setText(i1 + "");
        break;
        }
    }


    //获取EditText的值的方法
    public int get(){
        int d = 0;
        //获取EditText的值
        String  s = shu.getText().toString();
        if (TextUtils.isEmpty(s)){
            d = 1;
        }
        return Integer.valueOf(s);
    }
    //自己定义的接口
    interface ss{
        public void getcount(int count);
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值