тип 'List <dynamic>' не является подтипом типа 'List <int>', где - PullRequest
0 голосов
/ 09 мая 2018

Я новичок во Flutter, я пытаюсь запустить один проект на github, но получаю сообщение об ошибке типа динамического типа List, а не подтипа типа int int где. Github Link

Строка ошибки

List<int> genreIds;

MediaItem._internalFromJson(Map jsonMap, {MediaType type: MediaType.movie})
      :
        type = type,
        id = jsonMap["id"].toInt(),
        voteAverage = jsonMap["vote_average"].toDouble(),
        title = jsonMap[(type == MediaType.movie ? "title" : "name")],
        posterPath = jsonMap["poster_path"] ?? "",
        backdropPath = jsonMap["backdrop_path"] ?? "",
        overview = jsonMap["overview"],
        releaseDate = jsonMap[(type == MediaType.movie
            ? "release_date"
            : "first_air_date")],

        genreIds = jsonMap["genre_ids"];//in this line


}

Над кодом Файл

Буду признателен за любую помощь, заранее спасибо.

1 Ответ

0 голосов
/ 09 мая 2018

Изменение

genreIds = jsonMap["genre_ids"];

до

genreIds = jsonMap["genre_ids"].cast<int>();

типы в картах или списках JSON не имеют конкретных универсальных типов. genreIds требует List<int>, а не List (или List<dynamic>), поэтому вам нужно привести значение к его требуемому типу, прежде чем вы сможете присвоить его.

Если вы не видели эту ошибку ранее для того же кода, то, вероятно, это связано с тем, что вы обновились до версии Dart, где --preview-dart-2 стало значением по умолчанию (ранее оно было подписано)

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