【发布时间】:2013-09-18 18:28:49
【问题描述】:
我有 N 个文件要下载。我想在后台连续下载它们 - 一个接一个。我想在 ListView 中显示进度和状态。所以,ListView 看起来像:
文件1 ...已下载
文件2....已下载
File3... 正在进行中说 39%
文件4...待处理
....
Listview 会定期刷新(比如每 2 秒)并且文件很大:50 MB 左右。所以他们需要 1 分钟以上的时间来下载。
我会将文件 URL 列表传递给 AsyncTask 并在后台下载它。问题是如何将进度反馈给 ListView。
考虑到用户可能离开 ListView 页面而离开 AsyncTask 运行只是为了查看下载状态。
那么 ListView 是如何“观察” AsyncTask 的进度并显示出来的呢?
我正在考虑添加一组静态变量 AsyncTask(使用“同步”块保护它们)并在显示 ListView 的 Fragment 中使用定期 UI 更新程序。所以片段会有这样的东西:
Repeat a task with a time delay?
是否有设计模式、公共项目或示例代码?
对不起,我没有一张好照片。与我描述的最接近的是这里(类似,但我打算使用 AsyncTask 和串行下载):
【问题讨论】:
-
异步任务是从 developer.android.com 了解更多的过程
-
你有没有找到任何关于它的教程?
-
嘿,你有什么解决办法吗?请在这里分享。
标签: android listview android-listview android-fragments android-asynctask