gpt4 book ai didi

android - 使用 DownloadManager 在 RecyclerView 中显示下载进度

转载 作者:行者123 更新时间:2023-11-30 00:55:02 31 4
gpt4 key购买 nike

在我的 RecyclerView 的任何一行中都有一个 ProgressBar 和一个 download Button。单击此按钮将开始下载。我想在其 ProgressBar 中显示任何下载的进度。谁能帮帮我?

编辑:

我的下载码:

@Override
public void onBindViewHolder(final DataHolder holder, final int position) {

final Item item = items.get(position);

holder.btnDownload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

String url = item.getLink();
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription(item.getDescription());
request.setTitle(item.getTitle());

request.allowScanningByMediaScanner();
request.setNotificationVisibility(
DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "file"+position+".pdf");

manager.enqueue(request);
}
});

最佳答案

现在不能给你任何代码示例。不过我可以给个办法。

  1. 首先您需要通过任何类型的处理程序或循环计算下载文件的进度,直到完成

  2. 在 recyclerView 适配器中,您可以通过 notifyItemRangeChanged(int positionStart, int itemCount, Object payload) 更新部分 View 项目这将调用onBindViewHolder(FeedBaseViewHolder holder, int position, List<Object> payloads)

  3. 在有效负载中,您可以将所需的值透视图与您的要求一起传递,例如启动进度操作、更新进度、停止进度。

希望对您有所帮助。提前致谢。

关于android - 使用 DownloadManager 在 RecyclerView 中显示下载进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326465/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com