listview - 如何访问列表视图中的单个项目以更新进度条指示器
问题描述
我有一个 Listview.builder 列表,它创建了一个可以从网络 URL 播放的视频文件列表。我为用户提供了将每个单独的视频下载到其本地设备的选项。这很好用,我可以将进度百分比存储在一个变量中。如何访问列表视图中的单个项目,以便添加进度条指示器?目前,如果我尝试更新构建器中的一个项目,它会更新每个项目..
Container BuildVideoList() {
if (result == false) {
return Container(
child: Center(
child: SizedBox(
child: CircularProgressIndicator(),
height: 50.0,
width: 50.0,
),
),
);
}
return Container(
color: Colors.grey.shade300,
child: ListView.builder(
itemCount: _videos.length,
itemBuilder: _buildItemsForListView,
),
);
}
Widget _buildItemsForListView(BuildContext context, int index) {
var downloadText = Text('Download $progressString');
return Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
FlatButton(
onPressed: () {
Navigator.push(context,
MaterialPageRoute<void>(builder: (context) {
return HitomiVideoPlayer(
videoKey: _videos[index].videoId,
title: _videos[index].title);
}));
},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Image.network(_videos[index].image),
),
),
Text(_videos[index].title, style: TextStyle(fontSize: 18)),
Padding(
padding: const EdgeInsets.all(12.0),
child: Text(_videos[index].description,
style: TextStyle(fontSize: 12)),
),
FlatButton(
onPressed: () {
downloadFile(
title: _videos[index].title,
description: _videos[index].description,
image: _videos[index].image,
videoID: _videos[index].videoId);
},
child: downloadText,
),
FlatButton(
onPressed: () {
addInfo();
},
child: Text('Add Info'),
)
],
),
);
}
解决方案
推荐阅读
- mysql - 如何从有限制且没有重复的表中选择随机行?
- android - 在 Android 中列出图像或特定文件的最佳方式
- r - R中指定长度的所有简单路径
- django - Django 限制模型对象的用户查看权限
- java - 我应该使用什么 Hibernate Query 来检索 MS SQL 中的最新记录?
- python - 如何检查一个角色是否在另一个角色前面?
- realex-payments-api - 全球支付 HPP 沙箱。使用 ngrok 时 MERCHANT_RESPONSE_URL 中的 508 个无效字符
- python-3.x - Python Pandas用动态名称修剪列的空白
- python - 简单非线性回归的 Keras 预测
- javascript - Moment.js - 如何获取用户时区?