Как получить доступ к изображению из списка элементов? - PullRequest
0 голосов
/ 21 марта 2020

У меня смешанный список текста и изображений, и я хотел бы разместить соответствующий текст и изображение вместе на одной карточке. Текущий код работает для текста, однако, когда я пытаюсь добавить изображение, я всегда получаю сообщение об ошибке. Кто-нибудь знает, как это сделать?

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

class Episode {
  String seasonEpisode;
  String airDate;
  Image epImage;

  Episode({this.seasonEpisode, this.airDate, this.epImage});
}

class EpisodeList extends StatefulWidget {

  /*final Episode episodes;*/

  @override
  _EpisodeListState createState() => _EpisodeListState();
}

class _EpisodeListState extends State<EpisodeList> {
  List<Episode> episodes = [
    Episode(seasonEpisode: 'S24:E1', airDate: 'February 18, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
    Episode(seasonEpisode: 'S24:E2', airDate: 'February 25, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
    Episode(seasonEpisode: 'S24:E3', airDate: 'February 31, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
  ];

  Widget epCardTemplate(episode) {
    return Card(
      margin: const EdgeInsets.fromLTRB(16.0, 16.0, 16.0, 0.0),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: <Widget>[
          Image.asset(episode.epImage),
          Text(
            episode.seasonEpisode
          ),
          SizedBox(height: 6.0),
          Text(
            episode.airDate
          ),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: DARK_GREY_COLOR,
      body: Column(
        children: episodes.map((episode) => epCardTemplate(episode)).toList(),
      )
    );
  }
}

1 Ответ

0 голосов
/ 21 марта 2020

То, что вы делаете в своем коде, эквивалентно

children: <Widget>[
          Image.asset(Image.asset('assets/......')),
          Text(
            episode.seasonEpisode
          ),
          SizedBox(height: 6.0),
          Text(
            episode.airDate
          ),
        ],

По сути, вы помещаете изображение в другой виджет изображения.

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