java - 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);
解决方案
这是一个新手错误,我必须在我的 XML 文件中为我的复选框设置标签
推荐阅读
- javascript - 使用 i18next 进行反应生产构建会导致翻译仅显示字符串
- reactjs - 将数据从 UseEffect 传递到 Chart.js 不起作用
- ios - 为什么我收到错误“类型‘PublicTableViewController’没有成员‘handleRefresh’’
- python - 计算与新列中平均值的差异
- sql-server - 从 SQL Server 2012 到 2008 R2 的 LoadData 问题将日期日期类型加载到日期时间数据类型列中
- java - Spring Boot 休息控制器错误消息始终为空
- git - 在不更改 HEAD 的情况下,在大型提交中为单个文件发生的命令行更改中显示 git
- python-3.x - SQLite:SQL 变量太多
- android - dex2oat 是否编译所有方法?
- sql - 如何在 Google BigQuery 中返回 SECOND GREATEST 值