我的RecyclerView
的任意一行是ProgressBar
和下载 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);
}
});
答案 0 :(得分:1)
现在不能给你任何代码示例。但我可以给出一个方法。
首先,您需要通过任何类型的处理程序或循环计算下载文件的进度,直到完成为止
在recyclerView适配器中,您可以按notifyItemRangeChanged(int positionStart, int itemCount, Object payload)
更新部分查看项目,该项目将调用onBindViewHolder(FeedBaseViewHolder holder, int position, List<Object> payloads)
在有效负载中,您可以根据需求传递所需的值视角,例如开始进度操作,更新进度,停止进度。
希望它会对你有所帮助。提前谢谢。