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

Flutter使用GridView.count触发索引越界范围错误问题求助

错误根源

你定义的reviews数组遗漏了元素之间的英文逗号分隔符:

// 错误写法
var reviews =[
  "5.0 (23 reviews)"
  "5.0 (23 reviews)"
  "5.0 (23 reviews)"
  "5.0 (23 reviews)"
];

Dart语法中,多个相邻字符串没有分隔符时会自动拼接为单个字符串,因此你声明的reviews数组实际长度仅为1,而GridView按照items.length=4生成4个子项,当循环到index=1时访问reviews[index]就会触发「索引小于1:1」的越界报错。

修复方法
  • 给reviews数组的每个字符串元素末尾添加英文逗号,修正数组长度:
var reviews =[
  "5.0 (23 reviews)",
  "5.0 (23 reviews)",
  "5.0 (23 reviews)",
  "5.0 (23 reviews)",
];
  • 额外优化建议:你的代码中嵌套了两层MaterialApp(MyApp和Home组件各返回了一个),属于冗余定义,建议删除Home组件内的MaterialApp,直接返回Scaffold即可,避免后续出现路由、主题配置冲突的问题。

内容的提问来源于stack exchange,提问作者Ammar Mohib

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 06:21:02