如何为ArrayList添加数字?ListView复选框选中项存入ArrayList方法
解决方法:将选中的数字存入ArrayList
我来帮你调整代码,把ListView中选中项对应的数字存入ArrayList里,代替原来拼接字符串的方式:
步骤1:声明用于存储选中数字的ArrayList
首先创建一个Integer类型的列表,用来存放选中的数字:
ArrayList<Integer> selectedNumbers = new ArrayList<>();
步骤2:修改循环逻辑,添加选中的数字
把你原来拼接字符串的循环改成向列表中添加元素的逻辑,注意根据p.id的类型做对应处理:
// 遍历所有选项 for (Product p : boxAdapter.getBox()) { // 当复选框被选中时 if (p.aBoolean) { // 情况1:如果p.id是String类型,需要先转换为Integer selectedNumbers.add(Integer.parseInt(p.id)); // 情况2:如果p.id本身就是int类型,直接添加即可 // selectedNumbers.add(p.id); } }
后续使用示例
循环结束后,selectedNumbers就包含了所有选中的数字(1、2、3、5、25、24),你可以按需使用这个列表,比如遍历输出:
// 遍历打印选中的数字 for (int num : selectedNumbers) { System.out.println("选中的数字:" + num); }
注意事项
如果p.id是String类型,要确保它的内容是合法的整数,不然会抛出NumberFormatException。如果有不合法的可能,可以加个异常处理:
if (p.aBoolean) { try { selectedNumbers.add(Integer.parseInt(p.id)); } catch (NumberFormatException e) { // 处理id不是合法整数的情况,比如打印日志 e.printStackTrace(); } }
内容的提问来源于stack exchange,提问作者Асан Кереев
相关产品推荐
相关产品推荐

