java build返回空值_将来与Flutter中的FutureBuilder一起返回null
我想使用FutureBuilder來檢查url是否是png圖像,然后構(gòu)建一個(gè)或兩個(gè)圖像(在列表中) . 但不知何故,當(dāng)我打印它時(shí),Future總是返回null ...
結(jié)果是應(yīng)用程序總是使用兩個(gè)CachedNetworkImages構(gòu)建listview,這不是我想要它做的 . 如果URL是圖像,它應(yīng)該只使用該URL構(gòu)建CachedNetworkImage,如果不是,則應(yīng)該更改URL并構(gòu)建包含2個(gè)圖像的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'];
});
}
總結(jié)
以上是生活随笔為你收集整理的java build返回空值_将来与Flutter中的FutureBuilder一起返回null的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现闹钟功能_AlarmMana
- 下一篇: java 爬虫 保存cookies_写爬