颤振列表中带有for循环的动态图标索引

时间:2018-12-15 10:29:42

标签: flutter icons key

当我使用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键”以将操作分配给好的图标?

0 个答案:

没有答案