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); } }); }
public ArrayList<AppContainer> getSelectedItems() { ArrayList<AppContainer> selected = new ArrayList<>(); for (int i = 0; i < mDataset.size(); i++) { AppContainer item = mDataset.get(i); if (item.isChecked()) { selected.add(item); } } if (selected.isEmpty()) { selected.add(new AppContainer(AppContainer.TYPE_NOTHING)); } return selected; }