Flutter 无法访问类中的列表项
在过去的两个小时里,我一直在为这个问题绞尽脑汁(请记住,我是个新手)。我正在检查是否已正确设置从OMDB获取电影列表的所有内容。一切似乎都很好,除了我不知道如何访问列表中的某些内容,例如originalttle 这就是模型: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
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']中的内容吗?