0

我一直在关注实现APK 扩展文件的指南,并且在下载器库中遇到了一些麻烦(示例实现,我一直在关注)。IDownloaderClient 接口定义了以下方法:

onDownloadProgress(DownloadProgressInfo 进度)

下载服务调用它来传递一个 DownloadProgressInfo 对象,该对象描述有关下载进度的各种信息,包括估计剩余时间、当前速度、总体进度和总进度,以便您可以更新下载进度 UI。

这被实现为:

    @Override
    public void onDownloadProgress(DownloadProgressInfo progress) {
    mAverageSpeed.setText(getString(R.string.kilobytes_per_second,
            Helpers.getSpeedString(progress.mCurrentSpeed)));
    mTimeRemaining.setText(getString(R.string.time_remaining,
            Helpers.getTimeRemaining(progress.mTimeRemaining)));

    progress.mOverallTotal = progress.mOverallTotal;
    mPB.setMax((int) (progress.mOverallTotal >> 8));
    mPB.setProgress((int) (progress.mOverallProgress >> 8));
    mProgressPercent.setText(Long.toString(progress.mOverallProgress
            * 100 /
            progress.mOverallTotal) + "%");
    mProgressFraction.setText(Helpers.getDownloadProgressString
            (progress.mOverallProgress,
                    progress.mOverallTotal));
    }

问题是,无论我做什么,我都无法让我的下载器 UI 更新。我尝试过无效化、postInvalidating、在单独的线程中运行等。如果我忽略了示例实现的一些关键部分,请指出给我,但我似乎找不到它。我整天都在倾注我的代码和示例......有什么想法为什么我不能让 UI 更新?这实际上是阻止我发布我的应用程序的最后一件事。谢谢。

4

1 回答 1

0

嗯,这很令人沮丧,但从技术上讲,我已经更新了 UI。问题是我不知道现在和以前有什么不同。

我所做的是我删除了整个布局并从头开始创建一个新布局。我可能已经更改了代码中的某些内容,但是尽管我随机尝试了很多东西,但很难说最终是什么成功了。如果其他人有类似的问题,我建议删除布局并重新开始......我猜。

不过,任何进一步的反馈、建议或信息也会很好。

于 2013-08-31T17:12:37.470 回答