Flutter 无法访问类中的列表项

Flutter 无法访问类中的列表项,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,在过去的两个小时里,我一直在为这个问题绞尽脑汁(请记住,我是个新手)。我正在检查是否已正确设置从OMDB获取电影列表的所有内容。一切似乎都很好,除了我不知道如何访问列表中的某些内容,例如originalttle 这就是模型: class MovieItem { int page; int totalResults; int totalPages; List<Results> results; MovieItem({this.page, this.total

在过去的两个小时里,我一直在为这个问题绞尽脑汁(请记住,我是个新手)。我正在检查是否已正确设置从OMDB获取电影列表的所有内容。一切似乎都很好,除了我不知道如何访问列表中的某些内容,例如originalttle

这就是模型:

  class MovieItem {
  int page;
  int totalResults;
  int totalPages;
  List<Results> results;

  MovieItem({this.page, this.totalResults, this.totalPages, this.results});

  MovieItem.fromJson(Map<String, dynamic> json) {
    page = json['page'];
    totalResults = json['total_results'];
    totalPages = json['total_pages'];
    if (json['results'] != null) {
      results = new List<Results>();
      json['results'].forEach((v) {
        results.add(new Results.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['page'] = this.page;
    data['total_results'] = this.totalResults;
    data['total_pages'] = this.totalPages;
    if (this.results != null) {
      data['results'] = this.results.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Results {
  String posterPath;
  int id;
  String originalLanguage;
  String originalTitle;
  String title;

  Results(
      {this.posterPath,
      this.id,
      this.originalLanguage,
      this.originalTitle,
      this.title,});

  Results.fromJson(Map<String, dynamic> json) {
    posterPath = json['poster_path'];
    id = json['id'];
    originalLanguage = json['original_language'];
    originalTitle = json['original_title'];
    title = json['title'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['poster_path'] = this.posterPath;
    data['id'] = this.id;
    data['original_language'] = this.originalLanguage;
    data['original_title'] = this.originalTitle;
    data['title'] = this.title;
    return data;
  }
}
class电影项目{
整版;
综合结果;
整版网页;
列出结果;
MovieItem({this.page,this.totalResults,this.totalPages,this.results});
MovieItem.fromJson(映射json){
page=json['page'];
totalResults=json['total_results'];
totalPages=json['total_pages'];
如果(json['results']!=null){
结果=新列表();
json['results'].forEach((v){
results.add(newresults.fromJson(v));
});
}
}
映射到JSON(){
最终地图数据=新地图();
数据['page']=此.page;
数据['total_results']=this.totalResults;
数据['total_pages']=this.totalPages;
if(this.results!=null){
data['results']=this.results.map((v)=>v.toJson()).toList();
}
返回数据;
}
}
课堂成绩{
字符串后路径;
int-id;
弦源语言;
弦的起源;
字符串标题;
结果(
{this.posterPath,
这个身份证,
这是原始语言,
这是我的原创作品,
本章标题,});
Results.fromJson(映射json){
posterPath=json['poster_path'];
id=json['id'];
OriginallaLanguage=json['original_language'];
originaltile=json['origin_title'];
title=json['title'];
}
映射到JSON(){
最终地图数据=新地图();
数据['poster_path']=this.posterPath;
数据['id']=this.id;
数据['original_language']=this.originalLanguage;
数据['original_title']=this.originaltle;
数据['title']=this.title;
返回数据;
}
}

您试图调用
列表上的属性,而不是
结果
。您试图访问的属性存在于
Result
。。。如果存在
结果对象的
列表
,您希望随
movieItem.results.originaltle
返回什么?可能有任意数量的
Result
对象具有可能不同的标题?如果您只想将它们全部打印出来:

Future<MovieItem> movieItem() async {
   var movieItem = await
   client.movieItem();
   movieItem.results.forEach((result) => print(result.originalTitle));
   return movieItem;
}
Future movieItem()异步{
var movieItem=等待
client.movieItem();
movieItem.results.forEach((result)=>print(result.originalttle));
归还电影项目;
}

forEach
将允许您调用属性并在列表中的每个结果上打印它

您的movieItem模型类具有结果对象列表。因此,当您调用client.movieItem方法时,您会得到一个movieItem对象,您希望打印特定的结果项,然后只需执行此操作

print(movieItem.results[0].originalTitle)
如果您想访问结果列表中的所有对象,那么使用for循环就可以实现它

for(int i=0;i<movieItem.results.length;i++)
{
print(movieItem.results[i].originalTitle);
}

for(int i=0;i您应该使用方括号访问列表项。您可以添加json['results']中的内容吗?