flutter - 无法无条件调用方法“[]”,因为接收者可以为“null”。(扑)
问题描述
我正在使用具有两次下载的 FutureBuilder 并将每个索引放入列表中以在我的应用程序中加载/显示它们。使用空安全存在错误:
无法无条件调用方法“[]”,因为接收者可以为“null”。
尝试使调用有条件(使用'?.')或向目标添加空检查('!')。
如何解决快照中的这个错误(snapshot.data[0])?感谢帮助。
FutureBuilder(
future: Future.wait([downloadsuche(), downloadsuchvorschlag()]),
builder: (context, snapshot) {
if (snapshot.hasData) {
//List<AdressSuche> adresse = snapshot.data;
List<AdressSuche> adresse = snapshot.data[0];
List<AdressSuche> sv1 = snapshot.data[1];
return IconButton(
icon: const Icon(Icons.search),
onPressed: () {
showSearch(context: context, delegate: DataSearch(adresse, sv1));
},
);
} else if (snapshot.hasError) {
return IconButton(icon: const Icon(Icons.search), onPressed: () {});
//return RefreshIndicator(onRefresh: _refreshdata, child: Center(child: CircularProgressIndicator()));
}
return IconButton(icon: const Icon(Icons.search), onPressed: () {});
},
),
解决方案
代替
List<AdressSuche> adresse = snapshot.data[0];
List<AdressSuche> sv1 = snapshot.data[1];
和
var adresse = (snapshot.data as List)[0] as List<AdressSuche>;
var sv1 = (snapshot.data as List)[1] as List<AdressSuche>;
推荐阅读
- kubernetes - Kubernetes 将自己的域名附加到所有请求
- arrays - 迅速。从对象内部获取对象
- linux - 以前错误的未对齐呼叫现在工作了吗?
- javascript - 窗口大小改变时保持viewBox的比例
- regex - 用于嵌套 XML 标记的 PowerShell 正则表达式
- azure-cosmosdb - 昂贵的 gremlin 查询 - 可以提高效率吗?
- python - 基于同一组内另一行和另一列中的某个值分配值的有效方法
- c++ - 使用 SFINAE 禁用模板类成员函数
- ms-access - 更新 SQL 在 vba 中不起作用,但在查询设计中起作用?
- python - Scrapy Spider - 如何获取起始 url 并增加页面 # 以抓取页面值结尾?