通过按钮实现数量加减的操作

通过按钮实现数量加减的操作

实现类似购物车的实现,点击加按钮进行加一,点击减按钮进行减一,若数量小于1则提示输入一个大于0的数字,也可以手动输入大于0的数字
layout的布局代码如下

<LinearLayout
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:textSize="20sp"
            android:text="数量"
            android:layout_width="50dp"
            android:layout_height="wrap_content" />
        <ImageButton
            android:background="@drawable/ic_minus_circle"
            android:id="@+id/minus"
            android:layout_width="30dp"
            android:layout_height="30dp" />
        <EditText
            android:background="@color/transparent"
            android:inputType="number"
            android:layout_marginLeft="30dp"
            android:textSize="20sp"
            android:layout_gravity="center_horizontal"
            android:text="0"
            android:id="@+id/number"
            android:layout_width="50dp"
            android:layout_height="30dp" />
        <ImageButton
            android:background="@drawable/ic_plus_circle"
            android:id="@+id/plus"
            android:layout_width="30dp"
            android:layout_height="30dp" />

    </LinearLayout>

activity代码如下

public class MainActivity extends Activity {
    private EditText number;
    private ImageButton minus;
    private ImageButton plus;
    private int count;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         number = findViewById(R.id.number);
        plus = findViewById(R.id.plus);
        minus = findViewById(R.id.minus);
        ButtonPlus buttonlistener = new ButtonPlus();
        plus.setOnClickListener(buttonlistener);
        ButtonMinus buttonMinus = new ButtonMinus();
        minus.setOnClickListener(buttonMinus);
    }

    class ButtonMinus implements View.OnClickListener {
        @Override
        public void onClick(View view) 
        //得到输入框里的数字{
            String numString = number.getText().toString();
            //进行判断为空或是没文字设置为0
            if (numString == null || numString.equals("")) {
                count = 0;
            } else {
                int numInt = Integer.parseInt(numString);
                //判断,当小于1时提示输入一个大于0的数
                if (numInt < 1) {
                    Toast.makeText(MainActivity.this, "请输入一个大于0的数字", Toast.LENGTH_SHORT).show();
                } else {
                    //设置EditText光标位置为文本末端
                    number.setSelection(number.getText().toString().length());
                    //为numInt进行减的操作
                    numInt--;
                    count = numInt;
                    number.setText(count + "");
                }
            }

        }
    }

    class ButtonPlus implements View.OnClickListener {
        @Override
        public void onClick(View view) {
        //为numInt进行加的操作
            count++;
            number.setText(count + "");
        }
    }   
}

进行加操作的效果图
这里写图片描述
进行减操作的效果图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值