Je suis nouveau sur Flutter, j'essaie d'exécuter un projet github mais j'ai une erreur comme le type List dynamic n'est pas un sous-type de type List int where. Lien Github
Ligne d'erreur
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
}
Toute aide sera appréciée, merci d'avance.
Changement
genreIds = jsonMap["genre_ids"];
à
genreIds = jsonMap["genre_ids"].cast<int>();
les types dans les cartes ou listes JSON n'ont pas de types génériques concrets. genreIds
nécessite un List<int>
pas un List
(ou List<dynamic>
), vous devez donc apporter la valeur à son type requis avant de pouvoir l'attribuer.
Si vous n'avez pas vu cette erreur plus tôt pour le même code, c'est probablement parce que vous avez effectué une mise à niveau vers une version Dart où --preview-Dart-2
est devenu la valeur par défaut (il était opt-in précédemment)