flutter - 如何在 ListView.Builder 中使用项目计数?
问题描述
点击这里查看图片! 单击此处查看输入“itemCount”时出现的错误我想问,我在使用 List.builder () 功能时遇到问题。我无法限制列表中包含的数据,以便显示有关错误范围的错误消息。这是我提供的源代码。
_sort = <Sort>[
Sort(
category: 'By Games',
item: new Container(
height: 200,
child: new Container(
child: ListView.builder(
scrollDirection: Axis.vertical,
//itemCount: allGames['games'].length,
itemBuilder: (context, index) {
return Container(
child: Padding(
padding: const EdgeInsets.all(15),
child: Text(allGames['games'][index]['game_title'].toString(), style: new TextStyle(color: Colors.white)),
),
);
},
)))),
在这里我称之为“类别”和“项目”。我将它包装在一个包装小部件中。然后对于类别,我确实将其分为 3 个部分。然后我命名为“项目”的类别中的每个部分,问题是这里的项目容量过剩,因此显示的数据是剩余的,而不是目标。
child: Wrap(
children: <Widget>[
ListView.builder(
shrinkWrap: true,
itemCount: 3,
itemBuilder: (context, index) {
context = context;
if (index < 2) {
final sort = _sort[index];
return ExpansionTile(
title: ListTile(
title: Text(
sort.category,
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
),
children: <Widget>[
ListTile(
title: sort.item,
)
],
);
} else {
),
解决方案
您正在访问allGames["games"]
,它说您正在尝试使用[]
on null
。
好像allGames
是null
,所以请注意。
除此之外,您的使用itemCount
很好!
您可以通过执行以下操作来添加一些 null 意识:
itemCount = allGames != null ? (allGames["games"]?.length ?? 0) : 0
推荐阅读
- http - 有没有办法回复 boost::asio::ssl::stream 的握手失败?
- c# - 从 Azure 存储加载文件时出现 webjob 错误
- spring - spring boot 使用 HATEOAS 生成没有主机和端口的链接
- git - 构建挂起期间的 Git 克隆私有存储库
- cumulocity - Cumulocity:c8y_Restart 的两个响应模板,一个有,一个没有
,为什么? - python - Python:以毫秒为单位将秒数归零
- python - 返回 StringIO 对象
- sql - 插入更新另一个表后的 SQL 触发器
- python - 在熊猫中将列与自身进行比较
- mongodb - 在 mongodb 中执行 bulk_write 后报告 writeErrors 的任何正确方法