Приложение Flutter не отображает список виджетов Image, но отображает одно изображение - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь создать функцию, которая будет перемещаться к экрану камеры, чтобы сделать снимок. Когда изображение захватывается, вызывается метод обратного вызова с путем к новому изображению. В этом методе изображение добавляется в список виджетов изображений, например:

обратный вызов:

void _addPictureToGallery(String imagePath) {
this.setState(() {
  this.imageGallery.add(Container(
      decoration:
          BoxDecoration(border: Border.all(color: Colors.black, width: 2)),
      child: Image.file(File(imagePath))));
});

}

расположение:

body: GridView.count(
    crossAxisCount: 2,
    children: imageGallery,
  ),

По какой-то причине это не работает. Я проверил большинство сценариев и могу подтвердить, что переменная imageGallery фактически заполняется новыми изображениями, но новые изображения не отображаются. Если я добавлю набор изображений по умолчанию в методе initState, то они действительно будут отображаться, но только новые захваченные изображения не будут отображаться.

Если я удаляю логику GridView и просто отображаю одно изображение, которое снимается, как показано ниже, то оно работает ...

расположение:

body: imagePath != null ? Image.file(File(imagePath)) : Container(),

обратный вызов:

void _addPictureToGallery(String imagePath) {
  this.setState(() {
    this.imagePath = imagePath; 
  });
}

Любая помощь приветствуется!

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