【发布时间】:2021-08-09 18:01:05
【问题描述】:
我对飞镖有点陌生。我试图添加可以传递给另一个类的值。我正在使用 onTap 函数并创建了一个空映射和一个计数器变量(以便能够传递多少个抽头)。用户应该在图像上点击屏幕,图像和 int 应该存储在地图中。似乎密钥一直被覆盖,只有增量在工作(多少次点击)。希望大家能解读一下,给点建议!
这是我的代码:
final String image;
Map<String, int> _passover = {};
final int tapsCount = 1;
onTap: () {
if (_passover.containsKey(image)) {
_passover.update(image, (tapsCount) => tapsCount + 1);
} else {
_passover.putIfAbsent(image, () => tapsCount);
}
//Should print all keys or all values
print(_passover.entries);
},
),
这是点击不同图片时的输出。如您所见,只存储了一个密钥,而前一个密钥被覆盖了还是什么?
Performing hot reload...
Syncing files to device AOSP on IA Emulator...
Reloaded 1 of 561 libraries in 255ms.
I/flutter ( 8812): (MapEntry(images/redOnion.png: 1))
I/flutter ( 8812): (MapEntry(images/milkRed.png: 1))
I/flutter ( 8812): (MapEntry(images/milkBlue.png: 1))
I/flutter ( 8812): (MapEntry(images/milkBlue.png: 2))
I/flutter ( 8812): (MapEntry(images/milkGreen.png: 1))
I/flutter ( 8812): (MapEntry(images/milkGreen.png: 2))
I/flutter ( 8812): (MapEntry(images/milkRed.png: 1))
I/flutter ( 8812): (MapEntry(images/potatoes.png: 1))
【问题讨论】:
标签: flutter dictionary dart