web-dev-qa-db-fra.com

le type 'List <dynamic>' n'est pas un sous-type de type 'List <int>' où

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


}

Fichier de code ci-dessus

Toute aide sera appréciée, merci d'avance.

16
Magesh Pandian

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)

29