【问题标题】:Flutter : How to add item's ID into List of StringFlutter:如何将项目的 ID 添加到字符串列表中
【发布时间】:2021-07-14 13:00:03
【问题描述】:

我创建了一个字符串列表List<String> favId;,以便在用户单击收藏图标时获取列表项的 ID。但是当我这样写代码时:

GestureDetector(
                  onTap: () {},
                  child: IconButton(
                    icon: Icon(
                      doa.fav ? Icons.favorite : Icons.favorite_border,
                      color: doa.fav ? Colors.red : Colors.grey,
                    ),
                    onPressed: () => setState(() {
                      doa.fav = !doa.fav;
                      favId.add(doa.id.toString());
                    }),
                  ),
            )

编译器出错并显示此消息:

The method 'add' was called on null.
Receiver: null
Tried calling: add("2")

如何修复我的代码,以便将用户单击的项目 ID 添加到 favId 中。 这是点击 IconButton 时的预览:

【问题讨论】:

标签: flutter dart


【解决方案1】:

您不能只通过List<String> favId 定义它,因为favId 将为null,并且当您添加新数据时,它将是一个错误,例如null。您必须定义它List<String> favId = [],当您添加新数据时,错误就会消失。

【讨论】:

    【解决方案2】:

    你必须像这样初始化 favId。

    列出 favId=[];

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 2021-08-11
      • 2022-06-12
      相关资源
      最近更新 更多