java - 如何将项目添加到列表中在 Android 上选中复选框时
问题描述
在我的应用程序中,我有 3 checkBoxs
。我希望在选中每个checkbox
s时将值添加到List<integer>
其中,当取消选中时,从. 例如:我有 3秒。安卓-IOS - Windows。_
我想在检查Android时将数字2添加到. 检查iOS
时,将数字4添加到中。检查Windows
时,将数字8添加到中。List<Integer>
ceckbox
List
List
List
并且当取消选中每个 this时checkbox
,从中删除这个数字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));
});
推荐阅读
- nimbella-commander - 在 Slack 上使用 nimbella 指挥官时如何处理不同的语言?
- sql - 如果函数的参数与列名相同怎么办
- android - 如何在片段开头显示插页式广告?
- javascript - 地图内的Javascript Fetch
- android - 通过 Flutter 应用程序在移动应用程序中访问指纹扫描仪
- c - cl:编译时间与运行时间:inf 与 -nan(ind)
- ios - 应用程序传输安全详细信息不起作用 ios 14.1
- uwp - 如何使用 ResoureDictionary 设置页面背景颜色?
- mongodb - MONGODB:检索与子文档相同的集合中的父文档
- ruby-on-rails - Rails zip数组按列匹配