onError метод DecorationImage () во Flutter - PullRequest
0 голосов
/ 07 августа 2020

Код работает нормально, но из-за моего ненадежного подключения inte rnet я столкнулся с проблемой NetworkImage.load (см. Изображение ошибки ниже)

Container(
 width: 60,
 height: 80,
 decoration: BoxDecoration(
  color: Colors.black12,
  borderRadius: BorderRadius.all(Radius.circular(7.0))
  image: DecorationImage(
   image: NetworkImage(trend['imageUrl']),
   onError: <how we can handle this?>,
   fit: BoxFit.cover
  ),
 ),
);

Я надеюсь, что эту проблему можно решить путем обработки это по методу onError (поправьте меня, если я ошибаюсь). Но я не могу понять, как это сделать.

Ошибка: Ошибка у меня Android Studio

Заранее спасибо

1 Ответ

0 голосов
/ 07 августа 2020

Прежде всего, вы инициализируете NetworkImage внутри своего класса. например:

var imgVariable = NetworkImage(trend['imageUrl']);

Затем загрузите сетевой образ. Если произойдет ошибка, мы загрузимся из наших ресурсов, чтобы сообщить пользователю, что нам не удалось загрузить сетевое изображение.

Container(
 width: 60,
 height: 80,
 decoration: BoxDecoration(
  color: Colors.black12,
  borderRadius: BorderRadius.all(Radius.circular(7.0))
  image: DecorationImage(
   image: imgVariable,
   onError: (errDetails){
       setState(){
           imgVariable = AssetImage('assets/could_not_load_img.jpg');
       };
   },
   fit: BoxFit.cover
  ),
 ),
);

Здесь assets/could_not_load_img.jpg - это изображение, которое не является информативным sthg. * Примечание: может показаться, что это не работает с ошибками, но это может быть способ, которым я придумал. Существуют плагины вроде cached_network_image для красивой работы с сетевыми образами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...