@Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder instanceof PinnedViewHolder) { ItemPinned currentItem = mListWrapper.getItemPinned(position); if (currentItem.isVisible()) { ((PinnedViewHolder) holder).viewPin.setVisibility(View.VISIBLE); } else { ((PinnedViewHolder) holder).viewPin.setVisibility(View.INVISIBLE); } if (currentItem instanceof TextItemPinned) { ((TextView) ((PinnedViewHolder) holder).viewPin) .setText(((TextItemPinned) currentItem).getLabel()); } else if (currentItem instanceof ImageItemPinned) { ((ImageView) ((PinnedViewHolder) holder).viewPin) .setImageResource(((ImageItemPinned) currentItem).getImage()); } } }