title: How to prevent items from getting duplicated when scrolling recycler view
body: <p>I have created a row inside recycler view and inside that I have inflated two rows or more but when I scroll the items are getting used again.
  I am not getting where to recycle view or remove them dynamically
  I need a feed and their comments.For comments I need to inflate layouts to display them below feeds for which getCommentInflaterView method is created.</p>
  
  <p>But the view created using getCommentInflaterView() gets duplicated.
  MyAdapterClass:</p>
  
  <pre><code>public class AllFeedsAdapter extends
          RecyclerView.Adapter&lt;AllFeedsAdapter.ViewHolder&gt; {
  
      ArrayList&lt;Data&gt; arrayListAllFeedsData;
      Comment objComment;
  
  
      Context context;
  
      public AllFeedsAdapter(Context context, ArrayList&lt;Data&gt; data) {
          this.context = context;
          arrayListAllFeedsData = new ArrayList&lt;&gt;();
          arrayListAllFeedsData = data;
      }
  
  
      @Override
      public AllFeedsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
          Context context = parent.getContext();
          LayoutInflater inflater = LayoutInflater.from(context);
  
          // Inflate the custom layout
          View post_row_view = inflater.inflate(R.layout.row_teacher_post, parent, false);
  
          // Return a new holder instance
          ViewHolder viewHolder = new ViewHolder(post_row_view);
          return viewHolder;
      }
  
      @Override
      public void onBindViewHolder(AllFeedsAdapter.ViewHolder holder, int position) {
  
          holder.txtUsernamePostCreator.setText(arrayListAllFeedsData.get(position).getFull_name());
          holder.txtPostContent.setText(arrayListAllFeedsData.get(position).getFeed_text());
          holder.txtPostLikeCounter.setText(arrayListAllFeedsData.get(position).getTotal_like());
          holder.txtPostCommentsCounter.setText(arrayListAllFeedsData.get(position).getTotal_comment());
  
          if (arrayListAllFeedsData.get(position).getComment().size() &gt; 0) {
  
  
              if (arrayListAllFeedsData.get(position).getComment().size() &gt; 2) {
                  for (int i = 0; i &lt; 2; i++) {
  
                      objComment = arrayListAllFeedsData.get(position).getComment().get(i);
  
                      if (getCommentInflaterView(objComment) == null) {
                          holder.llCommentRowInflater.addView(getCommentInflaterView(objComment));
                      } else {
                          holder.llCommentRowInflater.removeAllViews();
                      }
  
  
                  }
              } else {
                  for (int i = 0; i &lt; arrayListAllFeedsData.get(position).getComment().size(); i++) {
  
                      objComment = arrayListAllFeedsData.get(position).getComment().get(i);
                      if (getCommentInflaterView(objComment) == null) {
                          holder.llCommentRowInflater.addView(getCommentInflaterView(objComment));
  
                      } else {
                          holder.llCommentRowInflater.removeAllViews();
                      }
  
                  }
              }
  
          }
  
  
      }
  
      private View getCommentInflaterView(Comment commentData) {
  
          LayoutInflater layoutInflater = LayoutInflater.from(context);
          View v = layoutInflater.inflate(R.layout.post_comments_list_item, null, false);
  
          TextView txtCommenterUsername = (TextView) v.findViewById(R.id.txt_username_commenter);
          TextView txtCommenterComment = (TextView) v.findViewById(R.id.txt_comments_from_commenter);
          TextView txtCommentDuration = (TextView) v.findViewById(R.id.txt_comment_duration);
  
  
          txtCommenterUsername.setText(commentData.getUsername());
          txtCommenterComment.setText(commentData.getComment());
          txtCommentDuration.setText(commentData.getCommentBy());
  
  
          return v;
  
      }
  
      @Override
      public int getItemCount() {
          return arrayListAllFeedsData.size();
      }
  
      /**
       * USed to create static class for all the view if listitem child
       */
      public static class ViewHolder extends RecyclerView.ViewHolder {
          // Your holder should contain a member variable
          // for any view that will be set as you render a row
  
          public LinearLayout llParentTeacherPost, llCommentRowInflater;
  
          // We also create a constructor that accepts the entire item row
          // and does the view lookups to find each subview
          public ViewHolder(View itemView) {
              // Stores the itemView in a public final member variable that can be used
              // to access the context from any ViewHolder instance.
              super(itemView);
              llParentTeacherPost = (LinearLayout) itemView.findViewById(R.id.ll_parent_teacher_post);
              llCommentRowInflater = (LinearLayout) itemView.findViewById(R.id.ll_comment_row_inflater);
  
              imgDpPostCreator = (ImageView) itemView.findViewById(R.id.img_dp_post_creator);
              txtUsernamePostCreator = (TextView) 
          }
  
  
      }
  }
  </code></pre>