You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Expanded嵌套ListView.builder出现类型不匹配报错

报错根因定位
  • 该报错和Expanded嵌套ListView.builder的布局组合无关,本质是类型不匹配:你向ListView.builder的某个预期接收int类型的入参,传入了List<Map<String, dynamic>>类型的数值
  • 绝大多数场景下错误出在itemCount参数的赋值上:itemCount要求传入列表的总长度整数值,你错误把完整的数据源列表直接赋值给了该参数
常见错误写法示例
// 数据源定义
List<Map<String, dynamic>> userList = [
  {'id': 1, 'name': '张三'},
  {'id': 2, 'name': '李四'}
];

// 错误的组件写法
Expanded(
  child: ListView.builder(
    itemCount: userList, // 此处错误:传入了完整列表而非长度整数
    itemBuilder: (context, index) {
      return Text(userList[index]['name']);
    }
  )
)
修复方案
  • 修改itemCount参数的取值为数据源的长度属性即可:
Expanded(
  child: ListView.builder(
    itemCount: userList.length, // 修正为传入列表长度的int值
    itemBuilder: (context, index) {
      return Text(userList[index]['name']);
    }
  )
)
  • 如果itemCount已经赋值.length仍报错,依次检查itemExtent、semanticChildCount等其他接收int类型参数的属性,确认是否误传入了列表值

内容的提问来源于stack exchange,提问作者reza amini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:15:00