flutter 无法将元素类型“List< widget>”分配给列表类型“Widget”

w41d8nur  于 2023-03-13  发布在  Flutter
关注(0)|答案(2)|浏览(191)

我尝试输出标题(字符串)和项目列表(小部件),但它显示了两个错误。
元素类型“List”不能分配给列表类型“Widget”,其次参数类型“gridview”不能分配给参数类型“iterable”。

List<Widget> categoriesWidgets;

    String categoryCaption,
    final List<Widget> result = <Widget>[];
final Padding categoryTitleWidget = Padding(
    padding: const EdgeInsets.fromLTRB(0, 10, 0, 10),
    child: Text(categoryCaption));

    final GridView results = GridView.count(crossAxisCount: 2,
        children: <Widget>[result]
    );

    categoriesWidgets.add(categoryTitleWidget);
    categoriesWidgets.addAll(results);

    }

ivqmmu1c

ivqmmu1c1#

您正在尝试创建array of list of Widget。但预期为list of widget
变更

children: <Widget>[result]

children: result

编辑:“无法将网格视图分配给参数类型可迭代”

将以下代码更改为:

categoriesWidgets.addAll([results]); // add results within []
muk1a3rh

muk1a3rh2#

results是单个小部件GridView,它应使用add而不是addAll

final GridView results = GridView.count(crossAxisCount: 2,children: result);
  categoriesWidgets.add(categoryTitleWidget);
  categoriesWidgets.add(results);

相关问题