如何更改recylerview按钮图像

时间:2017-11-21 09:26:30

标签: android android-layout android-recyclerview

当我点击下载按钮。它正在下载。但是,下载完成后如何更改按钮图像。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以在模型中使用int downloadStatus;变量来保存有关下载的信息。

1可用 2下载 3下载 等......

当按钮为Available时单击它以下载更改downloadStatus以使用notifyDataSetChanged()刷新视图。

下载完成后,将downloadStatus更改为3,使用notifyDataSetChanged()

刷新视图

设置图像时使用完整条件,否则可能会在按钮中显示错误的图像。

if(downloadStatus==1){
   //available image
}else if(downloadStatus==2){
   //downloading image
}else if(downloadStatus==3){
  //downloaded image
}

更换价值代码:假设模型是这样的

class Model{
   String desc;
   int downloadStatus;

    public Model(String desc, int downloadStatus) {
        this.desc = desc;
        this.downloadStatus = downloadStatus;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public int getDownloadStatus() {
        return downloadStatus;
    }

    public void setDownloadStatus(int downloadStatus) {
        this.downloadStatus = downloadStatus;
    }

}

替换:

    ArrayList<Model> list = new ArrayList<Model>();
    list.add(new Model("Firt Audio", 1));
    list.add(new Model("Second Audio", 1));
    list.add(new Model("Third Audio", 1));
    list.add(new Model("Fourth Audio", 1));

    //Replace Value 
    Model model = list.get(position);
    list.add(position, new Model(model.desc, 2));

答案 1 :(得分:0)

我认为您正在使用某种后台服务或AsynchTask来下载文件或其他任何内容。

然后在完成该任务时,您显然有一个触发器,表明任务已完成。所以你可以在那时改变图像。