body: FutureBuilder(
future: determinePosition(),
builder: (context, snapshot) //error here{
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text("Error ");
}else if(snapshot.hasData){
return Column(
children: [
Text(currentAddress),
正文可能正常完成,导致返回“null”,但返回类型"Widget“可能是不可为null的类型。为什么会出错?请帮助我
2条答案
按热度按时间x4shl7ld1#
可能的解决方案是删除最后一个else if(即snapshot.hasData)并直接返回列,如下所示
ds97pgxw2#
问题是你使用的是
else if
而不是else
,通过使用 else if,你告诉Dart遵循这组条件,但是如果有another
条件?,它不会被处理,并且将返回null
,那该怎么办?要解决此问题,请在最后一个子句中使用
else
而不是 else if: