title: Recyclerview checkbox are checked when not clicked
body: <p>I have a Recyclerview with checkboxes. When a user checks a box, when they scroll down another box will already be checked. I understand why, because that box is being recycled which makes sense.</p>
  
  <p>But I am having issues to set it so it does not do this:</p>
  
  <p>My current onBindViewHolder:</p>
  
  <pre><code>    @Override
      public void onBindViewHolder(final ViewHolder holder, final int position){
  
      holder.playerNameNumber.setText(playerData.get(position).name + "\n" +playerData.get(position).number );
  
      holder.pickedPlayer.setOnClickListener(new View.OnClickListener(){
  
          @Override
          public void onClick(View thisView){
              PlayerDetails contact = new PlayerDetails();
              int contactPos = position;
              if(holder.pickedPlayer.isChecked()) {
  
                  contact.number = playerData.get(position).number;
                  contact.name = playerData.get(position).name;
                  playerListGame.addPlayer(contact);
                  String name = contact.name;
                  Toast.makeText(thisView.getContext(), name + " Added", Toast.LENGTH_LONG).show();
                  holder.pickedPlayer.setChecked(true);
              }
             else if(!holder.pickedPlayer.isChecked()){
                  contact.number = playerData.get(position).number;
                  contact.name = playerData.get(position).name;
                  for(PlayerDetails i : playerListGame.myPlayers){
                      if(i.name == contact.name &amp;&amp; i.number == contact.number){
                          contactPos = playerListGame.myPlayers.indexOf(i);
                      }
                  }
                  playerListGame.removePlayer(contactPos);
                  String name = contact.name;
                  Toast.makeText(thisView.getContext(), name + " Removed", Toast.LENGTH_LONG).show();
              }
  
          }
  
      });
  
  
  }
  </code></pre>
  
  <p>Now I know that SetIsRecyclable is a big no no, though it does fix my problem:</p>
  
  <pre><code>  public ViewHolder(View v){
              super(v);
              playerNameNumber = v.findViewById(R.id.playerDetails);
              pickedPlayer =v.findViewById(R.id.
                this.setIsRecyclable(false); 
  </code></pre>
  
  <p>How do I avoid using such a method to resolve this issue?</p>