public void bind(final int position) { AppContainer item = mDataset.get(position); checkbox.setChecked(item.isChecked()); title.setText(item.getFriendlyName()); description.setText(item.getPackageName()); itemView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { AppContainer item = mDataset.get(position); if (checkbox.isChecked()) { item.setChecked(false); checkbox.setChecked(false); } else { item.setChecked(true); checkbox.setChecked(true); } mDataset.set(position, item); notifyItemChanged(position); } }); }