@Override public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) { RecipientsListLoader.Result item = (RecipientsListLoader.Result) adapter.getItemAtPosition(position); if (mMode == MODE_VCARD) { flipVCardNumberState(item.phoneNumber); } else { if (item.group != null) { checkGroup(item.group, !item.group.isChecked()); } else { selectPhoneNumber(item.phoneNumber, !item.phoneNumber.isChecked()); updateGroupCheckStateForNumber(item.phoneNumber, null); } } invalidateOptionsMenu(); mListAdapter.notifyDataSetChanged(); }