当我使用onPressed事件时,我想创建一行5个图标,每个图标都有一个单独的动作... 我有两种方法:
1-像下面这样硬写每个图标->不好的方法:-(
70px/30px
2-创建循环->智能方式:-)
list.add(
IconButton(
icon: Icon(
globalCategoriesIcons[4],
color: this.categorieSearch[4] == 0 ? Colors.grey : Colors.blue),
onPressed: () {
setState(() {
this.categorieSearch[4] = (this.categorieSearch[4] == 0 ? 1 : 0);
});
},)
);
list.add(
IconButton(
icon: Icon(
globalCategoriesIcons[3],
color: this.categorieSearch[3] == 0 ? Colors.grey : Colors.blue),
onPressed: () {
setState(() {
this.categorieSearch[3] = (this.categorieSearch[3] == 0 ? 1 : 0);
});
},)
);
list.add(
IconButton(
icon: Icon(
globalCategoriesIcons[2],
color: this.categorieSearch[2] == 0 ? Colors.grey : Colors.blue),
onPressed: () {
setState(() {
this.categorieSearch[2] = (this.categorieSearch[2] == 0 ? 1 : 0);
});
},)
);
list.add(
IconButton(
icon: Icon(
globalCategoriesIcons[1],
color: this.categorieSearch[1] == 0 ? Colors.grey : Colors.blue),
onPressed: () {
setState(() {
this.categorieSearch[1] = (this.categorieSearch[1] == 0 ? 1 : 0);
});
},)
);
list.add(
IconButton(
icon: Icon(
globalCategoriesIcons[0],
color: this.categorieSearch[0] == 0 ? Colors.grey : Colors.blue),
onPressed: () {
setState(() {
this.categorieSearch[0] = (this.categorieSearch[0] == 0 ? 1 : 0);
});
},)
);
问题是,启动事件时,我的“ i”索引评估错误为-1!
如何在我的“图标颜色”和setState()中获取“ IconButton键”以将操作分配给好的图标?