如何在两个不同的活动中分享进度条的进度

时间:2012-05-04 17:27:28

标签: android progress-bar android-asynctask

  • 在活动A中,我将多个文件从服务器下载到我的设备。
  • progressBar显示当前下载的进度。

  • 我可以一次进行多次下载,我希望活动B显示每次下载时使用progressBar的所有下载列表。

- 问题是,当我通过菜单启动时,我真的不知道如何将每次下载的进度分享到活动B.

3 个答案:

答案 0 :(得分:1)

设置下载Service,而不是仅使用AsyncTask来获取文件。然后,对所述下载的进展感兴趣的任何Activity都可以绑定Service并注册一个用于进度更新的监听器,然后将其反映在适合于各个Activity的任何UI中。

答案 1 :(得分:1)

1)在Application Object中声明Progress Bar(扩展Application Supper类的类)。现在整个应用程序都可以访问进度条。

2)更新活动A中的进度条。

3)通过调用getApplication();

获取活动B中ProgressBar的权限

答案 2 :(得分:0)

我正在做类似的事情并且使用本地广播取得了成功。我拥有服务中包含的所有上传逻辑,后者又使用异步任务,当我需要更新进度时,我发送广播。在我的活动的onResume中,我注册接收通知和onPause我取消注册。这样,当前活动可以更新。