java build返回空值_将来与Flutter中的FutureBuilder一起返回null

我想使用FutureBuilder来检查url是否是png图像,然后构建一个或两个图像(在列表中) . 但不知何故,当我打印它时,Future总是返回null ...

结果是应用程序总是使用两个CachedNetworkImages构建listview,这不是我想要它做的 . 如果URL是图像,它应该只使用该URL构建CachedNetworkImage,如果不是,则应该更改URL并构建包含2个图像的listview .

child: new FutureBuilder(

future: _getImages(widget.imgUrl),

builder: (BuildContext context, AsyncSnapshot snapshot) {

switch (snapshot.connectionState) {

case ConnectionState.none:

return new Text('Press button to start');

case ConnectionState.waiting:

return new Text('Awaiting result...');

default:

if (snapshot.hasError)

return new Text('Error: ${snapshot.error}');

else {

print(snapshot.data);

if (snapshot.data == "image/png") {

return new SingleChildScrollView(

child: new CachedNetworkImage(

imageUrl: widget.imgUrl,

placeholder: new Center(

child: new AdaptiveProgressIndicator()),

),

);

} else {

return new ListView(

children: [

new CachedNetworkImage(

imageUrl:

widget.imgUrl.split('.png')[0] + '-0.png',

placeholder: new Center(

child: new AdaptiveProgressIndicator()),

),

new CachedNetworkImage(

imageUrl:

widget.imgUrl.split('.png')[0] + '-1.png',

)

],

);

}

}

}

}),

),

));

}

Future _getImages(String url) async {

await http.get(url).then((result) {

return result.headers['content-type'];

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值