@Override
 public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
   String details;
   if (holder instanceof SurveysItemViewHolder) {
     ((SurveysItemViewHolder) holder).title.setText(data.get(position).getTitle());
     if (type.equals("pending")) {
       details = "Ημ. έναρξης " + data.get(position).getActiveSince();
       ((SurveysItemViewHolder) holder).details.setText(details);
       ((SurveysItemViewHolder) holder).responses.setVisibility(View.GONE);
     } else {
       details = "Ημ. λήξης " + data.get(position).getValidUntil();
       ((SurveysItemViewHolder) holder).details.setText(details);
     }
     if (type.equals("ongoing")) {
       if (!data.get(position).getIsAnswered()) {
         ((SurveysItemViewHolder) holder).answered.setVisibility(View.VISIBLE);
         ((SurveysItemViewHolder) holder).surveyItemContainerRlt.setTag(0);
       } else {
         ((SurveysItemViewHolder) holder).surveyItemContainerRlt.setTag(0);
         ((SurveysItemViewHolder) holder).surveyItemContainerRlt.setTag(1);
       }
       if (data.get(position).getIsAnswered()
           && ((SurveysItemViewHolder) holder).answered.getVisibility() == View.VISIBLE)
         ((SurveysItemViewHolder) holder).answered.setVisibility(View.INVISIBLE);
     }
     ((SurveysItemViewHolder) holder)
         .responses.setText(
             String.format(Locale.getDefault(), "%d", data.get(position).getResponses()));
   } else if (holder instanceof ProgressViewHolder) {
     ((ProgressViewHolder) holder).progressView.start();
   } else {
     ((ErrorViewHolder) holder).retryBtn.setTransformationMethod(null);
   }
 }
  @Override
  public void onBindViewHolder(ViewHolder holder, int position) {
    if (holder instanceof ItemViewHolder && listObject.get(position) instanceof ItemEntity) {
      ((ItemViewHolder) holder)
          .lblDescription.setText(((ItemEntity) listObject.get(position)).getDescription());
    }

    if (holder instanceof LoadingViewHolder) {
      ((LoadingViewHolder) holder).pbLoading.setIndeterminate(true);
    }

    if (holder instanceof ErrorViewHolder && listObject.get(position) instanceof ErrorEntity) {
      ((ErrorViewHolder) holder)
          .lblError.setText(((ErrorEntity) listObject.get(position)).getDescription());
    }
  }