title: Adding a handler for a particular list item in a recyclerview
body: <p>I have a recyclerview and that has list item with text, progressbar and image.</p>
  
  <p>I want to add a delay in every list item loader and image only and show the image after progress completes in recycler view adding a delay of 3 sec.</p>
  
  <p>Here is my <strong>adapter</strong></p>
  
  <pre><code>@Override
  public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
      View layoutView;
      switch (viewType) {
          case USER_HEADER:
              layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user_header, parent, false);
              return new HeaderViewHolder(layoutView);
          default:
              layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user_info, parent, false);
              return new AppListViewHolder(layoutView, onRecyclerItemClick);
  
      }
  }
  
  
  @Override
  public int getItemViewType(int position) {
      if (position == 0) {
          return USER_HEADER;
      }
      return USER_ITEM;
  }
  
  @Override
  public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, final int position) {
  
      if (holder.getItemViewType() == USER_HEADER) return;
  
      final AppListViewModel appListViewModel = appListViewModels.get(position - 1);
      final AppListViewHolder appListViewHolder = (AppListViewHolder) holder;
      if (!appListViewModel.isAppInstalled()) {
          appListViewHolder.textAppLink.setText(appListViewModel.getAppLink());
      } else {
          appListViewHolder.textAppLink.setText("");
      }
      appListViewHolder.textAppName.setText(appListViewModel.getAppName());
      appListViewHolder.itemView.setTag(appListViewModel);
  
      // TODO I want to add this progressbar and image after every 3 sec. Just like checking the installation after every 3 sec.
      appListViewHolder.progressBar.setVisibility(View.VISIBLE);
      appListViewHolder.imageStatus.setImageResource(appListViewModel.isAppInstalled() ? R.drawable.ic_check_green : R.drawable.cancel);
      setAdapterData(holder);
      loaderStatusListner.isLoadingComplete(true);
  
  }
  
  private void setAdapterData(RecyclerView.ViewHolder viewHolder){
      this.viewHolder = viewHolder;
  }
  public RecyclerView.ViewHolder getAdapterData(){
      return viewHolder;
  }
  
  @Override
  public int getItemCount() {
      return 1 + appListViewModels.size();
  }
  
  
  private static class HeaderViewHolder extends RecyclerView.ViewHolder {
  
      HeaderViewHolder(View itemView) {
          super(itemView);
      }
  }
  
  static class AppListViewHolder extends RecyclerView.ViewHolder {
      @BindView(R.id.image_app_status)
      public ImageView imageStatus;
      @BindView(R.id.text_app_name)
      TextView textAppName;
      @BindView(R.id.text_app_link)
      TextView textAppLink;
      @BindView(R.id.progress_bar)
      public ProgressBar progressBar;
  
  
      AppListViewHolder(View view, final OnRecyclerItemClick onRecyclerItemClick) {
          super(view);
          ButterKnife.bind(this, view);
  
          view.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  AppListViewModel commonTicketViewModel = (AppListViewModel) v.getTag();
                  onRecyclerItemClick.onItemClick(v, getAdapterPosition(), commonTicketViewModel);
              }
          });
  
      }
  }
  </code></pre>
  
  <p>Loader should keep moving and one by one its visibility gets INVISBLE after 3 sec delay and image change. See the image for more description
  <a href="https://i.stack.imgur.com/ys5Gt.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ys5Gt.jpg" alt="see image"></a></p>