Cha*_* Jr -1 element class list dart flutter
我在这里创建了一个包含4个元素的自定义类...
class Top {
String videoId;
int rank;
String title;
String imageString;
Top({this.videoId, this.rank, this.title, this.imageString});
}
Run Code Online (Sandbox Code Playgroud)
我正在检索一些Firebase项来填充这些元素。
var top = new Top(videoId: items['vidId'], rank: items['Value'],
title: items['vidTitle'], imageString: items['vidImage']);
Run Code Online (Sandbox Code Playgroud)
然后我将它们添加到“ Top”类型的列表中,以便基于“ rank”对Class值进行排序...
List<Top> videos = new List();
videos..sort((a, b) => a.rank.compareTo(b.rank));
videos.add(top);
Run Code Online (Sandbox Code Playgroud)
但是,打印videos此日志...
[Instance of 'Top', Instance of 'Top', Instance of 'Top', Instance of 'Top', Instance of 'Top', Instance of 'Top', Instance of 'Top', Instance of 'Top']
Run Code Online (Sandbox Code Playgroud)
我不确定是否是因为它在列表中。如何从视频中获得可用的“热门”属性值?例如当我查询时top.rank我得到这个...
[14, 12, 11, 10, 10, 6, 5, 1]
Run Code Online (Sandbox Code Playgroud)
列表的属性是通过[]运算符传递元素的索引来获得的。
如果您想检索Top列表中的第三名,videos可以像这样访问它
videos[3]
Run Code Online (Sandbox Code Playgroud)
如果您想检索列表rank中第三个属性,Top则videos可以像访问它一样
videos[3].rank
Run Code Online (Sandbox Code Playgroud)
如果您希望打印语句显示列表项,则将您的类更改为覆盖toString方法,例如
class Top {
String videoId;
int rank;
String title;
String imageString;
Top({this.videoId, this.rank, this.title, this.imageString});
@override
String toString(){
return "{videoId: $videoId, rank: $rank, title: $title, imageString: $imageString}";
}
}
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助!
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |