簡體   English   中英

如何從另一個類更新在RecyclerView的ViewHolder中實例化的進度條?

[英]How to update a progressbar that is instantiated within a RecyclerView's ViewHolder, from a different class?

我有一個Viewholder,在其中實例化連接到每一行的進度條:

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);
            }
}

這是由SubmissionViewHolder實現的ISubmissions接口

public interface ISubmissions {

    void updateProgress(String s);
}

我想要實現的是,從不同的類更新進度條,如下所示:

public class DownloadStream {

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

我無法實例化類DownloadStreamsubmissions變量。 我究竟做錯了什么?

注意: SubmissionViewHolder是擴展RecyclerView適配器的類的內部類。

代替創建接口,在RecyclerView上使用findViewHolderForItemId 它將返回ViewHolder

您只需將其ViewHolder為自定義ViewHolder並使用updateProgress()方法。

RecyclerView另一個有趣的功能是:

  • findViewHolderForAdapterPosition
  • findViewHolderForItemId
  • findViewHolderForLayoutPosition
  • getChildAt
  • getChildViewHolder

RecyclerView文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM