我正在使用一个下载文件的应用程序,如果您单击一个项目,则我有recyclerview-> cardview(10-20个项目) 下载文件的过程开始,与此同时,我添加了一个微调器,让用户知道下载正在进行中 但下载完成后我无法取消微调器,因为我不知道如何引用特定的Cardview 在recyclerview上,我是否需要传递卡片视图的位置,spinner(progressbar)id?
任何帮助将不胜感激,谢谢!
来自我的适配器类
@Override
public void onBindViewHolder(@NonNull final FirstLevelViewHolder holder, final int position) {
ItemsLevel2 currentItem = fItems.get(position);
final String id = currentItem.getId();
final String name = currentItem.getName();
holder.id.setText(id);
holder.ame.setText(name);
holder.fImageButton .setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.img.setVisibility(View.INVISIBLE);
holder.spinner.setVisibility(View.VISIBLE);
downloadFile(name);
}
});
}
这里有所有下载代码
downloadFile(String name) {
}
答案 0 :(得分:1)
int downloadFile(String name) {
if (finish) return 1;
}
////////////////////////////////////////
public void onClick(View v) {
holder.spinner.setVisibility(View.VISIBLE);
if( downloadFile(name))==1{
holder.spinner.setVisibility(!View.VISIBLE);
}
}
答案 1 :(得分:0)
如果要从服务器下载文件,则应使用 AsyncTask 并以doInBackground()
方法下载文件,在onPreExecute()
中显示进度栏,并在{{ 1}}。
onPostExecute()