public View getView(int position, View convertView, ViewGroup parent) { View newView = convertView; final SelfieRecordView selfieRecordView; final SelfieRecord currentRecord = mRecordList.get(position); if (null == convertView) { selfieRecordView = new SelfieRecordView(); newView = inflater.inflate(R.layout.selfie_listitem, parent, false); selfieRecordView.checkBoxSelected = (CheckBox) newView.findViewById(R.id.checkbox_selected); selfieRecordView.thumbnail = (ImageView) newView.findViewById(R.id.thumbnail); selfieRecordView.selfieDate = (TextView) newView.findViewById(R.id.selfie_date); newView.setTag(selfieRecordView); } else { selfieRecordView = (SelfieRecordView) newView.getTag(); } selfieRecordView.checkBoxSelected.setChecked(currentRecord.getSelected()); selfieRecordView.checkBoxSelected.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { currentRecord.setSelected(isChecked); } }); ImageHelper.setImageFromFilePath(currentRecord.getPath(), selfieRecordView.thumbnail); selfieRecordView.selfieDate.setText(currentRecord.getDisplayName()); return newView; }
public ArrayList<SelfieRecord> getSelectedRecords() { ArrayList<SelfieRecord> mSelectedRecordList = new ArrayList<>(); for (SelfieRecord record : mRecordList) { if (record.getSelected()) { mSelectedRecordList.add(record); } } return mSelectedRecordList; }