android - Flutter 错误:对空值使用空检查运算符
问题描述
我想在 Flutter 中开发银行应用程序。但是我得到了这个错误: Null check operator used on a null value 我试过“flutter channel stable”,但它不起作用,还试过'!' 运算符(如您在代码中所见),但它不起作用...... :(
请帮助我.. 注意:容器小部件很长,这就是我没有选择复制的原因..
Widget projectWidget() {
return FutureBuilder<List<Histories>>(
future: dbHelper.getHistories(),
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data!.length > 0) return Container();
return ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
Histories histories = snapshot.data![index];
return Container();
},
);
});
}
解决方案
在构建器内部 else 条件是错误的。使用当前代码,即使快照没有数据,它也会尝试调用snapshot.data!.length
导致空错误的原因。
Widget projectWidget() {
return FutureBuilder<List<Histories>>(
future: dbHelper.getHistories(),
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data!.length > 0)
return ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
Histories histories = snapshot.data![index];
return Container();
},
);
else
return Center(child: CircularProgressIndicator());
});
}
推荐阅读
- python - 如何按外观顺序制作列表并丢弃重叠?
- android - 无法使用菜单单击和移动活动
- java - 如何解决“非法开始表达式尝试{
- javascript - 如何在 d3 内部实现异步
- javascript - 在 React 中的秒表上设置 localstorage.getItem() 值
- mysql - 如何从联结表中多次引用单个表
- javascript - 如何使用jquery列出数据表中的最后一条记录
- c++ - 无法显示
在 OpenCL 和 C++ 中 - php - 如何对分组和值的值求和 | php mySQL
- python - 如何让我的 QCombobox 刷新内容而不是自己绘制?