【发布时间】:2021-02-14 14:42:59
【问题描述】:
【问题讨论】:
标签: flutter dart flutter-video-player
【问题讨论】:
标签: flutter dart flutter-video-player
我假设你的代码中有这样的东西
...
children:[
SessionCard(
sessionNum:1,
press:(){ }
),
SessionCard(
sessionNum:2,
press:(){ }
),
SessionCard(
sessionNum:3,
press:(){ }
),
SessionCard(
sessionNum:4,
press:(){ }
),
]
改成这个
您可以将数据存储在列表中
//创建一个类
class SessionCardMode{
final int sessionNum;
final String videoUrl;
SessionCardModel(this.sessionNum, this.videoUrl);
}
在您的小部件顶部填写您的数据
final List<SessionCardModel> sessionItems =
[
SessionCardModel(1, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
SessionCardModel(2, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
SessionCardModel(3, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
SessionCardModel(4, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
SessionCardModel(5, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
SessionCardModel(6, 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4?_=1'),
]
在你的列表中,像这样改变它
...
children:List.generate(sessionItems.length,(index) =>
SessionCard(
sessionNum:sessionItems[index].sessionNum,
press:(){
// you can get the videoUrl of the particular session
// by using sessionItems[index].videoUrl
// you can open the video here
}
));
这将清理代码并解决您的问题
【讨论】: