Флаттер: почему Image.network не может загрузить изображение
Я запускаю приложение без сети. Затем я делаю сеть доступной и нажимаю кнопку setState, изображение все еще не видно. Есть ли решение?
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Column(
children: <Widget>[
Container(
color: Colors.blue,
child: Image.network(
'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3500755592,262843410&fm=26&gp=0.jpg'),
width: 100,
height: 100,
),
RaisedButton(
child: Text('setState'),
onPressed: () {
setState(() {});
},
),
],
));
}
0 ответов
В твоем нечего менять Image.network(..)
так что он не будет отвечать на setState()
, ваш URL и размеры постоянны.
Дайте ему что-нибудь изменить, как key
. Кроме того, поскольку он уже сохранил неудачное изображение в своем кеше, вам, вероятно, также потребуется обновить кеш. Вот простой пример:
Image.network(
"https://picsum.photos/250?image=9",
key: ValueKey(_key)
)
setState(() {
imageCache.clear();
_key = DateTime.now().millisecondsSinceEpoch.toString();
});