如何在不同的类中更新在RecyclerView的ViewHolder中实例化的进度条?

时间:2015-11-26 15:59:02

标签: java android

我有一个视图库,我在其中实例化附加到每一行的进度条:

class SubmissionViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, ISubmissions {
        @Bind(R.id.download_progress_bar)
        ProgressBar progressBar;
        @Override
        public void updateProgress(String s) {
            progressBar.setVisibility(View.VISIBLE);
            progressBar.setProgress(Integer.valueOf(s));
            if(Integer.valueOf(s)>=99){
                progressBar.setVisibility(View.GONE);
            }
}

以下是ISubmissions

实施的SubmissionViewHolder界面
public interface ISubmissions {

    void updateProgress(String s);
}

我想要实现的是,从不同的类更新进度条,如下所示:

public class DownloadStream {

public DownloadStream() {
    ISubmissions submissions =  new Submissions$SubmissionViewHolder$$ViewBinder();
}

我无法在类submissions中实例化DownloadStream变量。我做错了什么?

注意:SubmissionViewHolder是扩展RecyclerView适配器的类的内部类。

1 个答案:

答案 0 :(得分:0)

不要使用界面,而是使用findViewHolderForItemId上的RecyclerView。它将返回ViewHolder

您只需将其投放到自定义ViewHolder并使用updateProgress()方法。

RecyclerView的另一个有趣功能是:

  • findViewHolderForAdapterPosition
  • findViewHolderForItemId
  • findViewHolderForLayoutPosition
  • getChildAt
  • getChildViewHolder

RecyclerView documentation