java - 如何在 Android 上选中复选框时将项目添加到 List<Integer> 中

标签 java android list arraylist

在我的应用程序中,我有 3 checkBoxs 。我希望当检查每一个checkbox时s 将值添加List<integer>取消选中它时,从List<Integer>删除该值.
例如:我有 3 ceckbox
Android - Ios - Windows
我希望在选中 Android 时将数字 2 添加到 List 中.
当选中 Ios 时,将数字 4 添加到 List 中.
当选中Windows时,将数字8添加到List中.
取消选中每个checkbox时s,从 List删除此号码.

我写了下面的代码,但没有显示真实的结果!

btnTesterSignUp.setOnClickListener(v -> {
        if (signUp_pcCheck.isChecked()) {
            userDevicesList.add(0, 2);
        } else {
            if (userDevicesList.size() > 0)
                try {
                    userDevicesList.remove(0);
                } catch (Exception e){

                }
        }

        if (signUp_mobileCheck.isChecked()) {
            userDevicesList.add(1, 4);
        } else {
            if (userDevicesList.size() > 0)
                try {
                    userDevicesList.remove(1);
                } catch (Exception e){

                }
        }

        if (signUp_tabletCheck.isChecked()) {
            userDevicesList.add(2, 8);
        } else {
            if (userDevicesList.size() > 0)
                try {
                    userDevicesList.remove(2);
                } catch (Exception e){

                }
        }

        Log.e("userDevicesLog", userDevicesList.toString());

    });

最佳答案

检查一下:

        List<Integer> list = new ArrayList<>();
        CheckBox ios = ...
        CheckBox android = ...
        ios.setOnCheckedChangeListener((buttonView, isChecked) -> {
            if (isChecked)
                list.add(2);
            else if (list.contains(2))
                list.remove(Integer.valueOf(2));
        });
        android.setOnCheckedChangeListener((buttonView, isChecked) -> {
            if (isChecked)
                list.add(4);
            else if (list.contains(4))
                list.remove(Integer.valueOf(4));
        });

关于java - 如何在 Android 上选中复选框时将项目添加到 List<Integer> 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57344507/

相关文章:

java - 使用 Android Studio 将对象或数组列表从一个 fragment 传递到另一个 fragment

java - Spring EntityManager 在方法完成时提交事务

android - 如何在 Android 中显示 Toast?

android - 如何在 Eclipse 中将真实手机设置为默认目标

java - IOUtils.toByteArray(inputStream) 方法是否在内部关闭 inputStream 对象?

java - 安卓 : getting data from cursor

android - 在后台收听传入的文本

java - 递归地将字符串拆分为固定数量的单词 [Java]

python - 如何在Python中反转子列表

list - 基于另一个列表的 Groovy 排序列表