下载完成后如何隐藏微调框(进度条)?

时间:2019-06-07 17:05:32

标签: java android android-recyclerview download android-cardview

我正在使用一个下载文件的应用程序,如果您单击一个项目,则我有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) {

}

2 个答案:

答案 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()