首页 > 解决方案 > Hashmap 获取标签崩溃

问题描述

我有一个名为 checkBox 的数组,其中包含我的 xml 中的复选框项目。我还有一个HashMap,它将每个复选框的值存储在 Double 中。

现在的问题是,当我尝试在循环中使用 getTag() 来检查用户选择的复选框时,它会崩溃而没有显示错误。我不明白出了什么问题。

        double priceSum= 0.0;
    for (CheckBox cb:checkBoxes) {

        cb.setEnabled(true);

        if (cb.isChecked()) {
            count++;
            toppingsSelection.add(cb); //adding selected items into arrayList

        }

    }

    for (CheckBox items: toppingsSelection) {

        text = text + items.getText().toString()+ ", ";

        priceSum += hashMap.get(items.getTag()); //THIS CAUSES CRASHING
    }

    toppings.setText(text); displaying texts of checkboxes checked
    price.setText(Double.toString(priceSum));

这是我的哈希图:

    hashMap.put("chkCheese", 2.50);
    hashMap.put("chkPep", 3.50);
    hashMap.put("chkChick", 2.00);
    hashMap.put("chkBeef", 4.00);
    hashMap.put("chkBlackOlives", 2.00);
    hashMap.put("chkPine", 1.00);
    hashMap.put("chkMushroom", 1.00);

标签: javaandroidarraysarraylisthashmap

解决方案


这是一个新手错误,我必须在我的 XML 文件中为我的复选框设置标签


推荐阅读