【发布时间】:2021-06-10 17:18:46
【问题描述】:
在我的应用程序中,我想要一个带有饼图的 listView。这是我正在使用的pie_chart 库。
但我在List<Map<String,double>> 中遇到错误。
List<Map<String, double>> map = List<Map<String, double>>();
ListView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: data.length,
itemBuilder: (context, index) {
var item = data[index];
map[index].putIfAbsent("< 1 Weeks ago>", () => (2.0));
return PieChart(
...
dataMap: map[index],
...
)
}
错误
RangeError (index): Invalid value: Valid value range is empty: 0
错误指向map[index].putIfAbsent("< 1 Weeks ago>", () => (2.0));。这里有什么问题?
【问题讨论】:
-
数据有什么? ListView.builder 运行时不为空吗?
-
@JaimeOrtiz data not null..我可以毫无问题地获得
item[index],但添加map[index]后,错误仍然存在。 -
为什么在 itemCount 中使用
data.length而不是map.length。这个data变量是什么? -
可能列表 bulder 会抛出错误,因为 data 中的元素多于 map 中的元素,并且它尝试访问 map 中不存在的索引
-
@croxx5f 问题已编辑。地图长度应始终与
data.length相同。
标签: flutter dart listview hashmap