加減器(購物車常用)

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章