// 用于保存勾选的联系人
private HashMap<Contact, Boolean> map_NumberSelected = new HashMap<Contact, Boolean>();
定义标识表示是否已经全选
private boolean isAllChecked = false;
在触发事件的位置根据标识来实现全选或反选
if (isAllChecked) {
selectAllBtn.setBackgroundResource(R.drawable.select_all_not);
invertSelection();
} else {
selectAllBtn.setBackgroundResource(R.drawable.select_all);
selectAllContacts();
}
全选方法
public void selectAllContacts() {
for (int i = 0; i < contactList.size(); i++) {
Contact contact = contactList.get(i);
map_NumberSelected.put(contact, true);
}
isAllChecked = true;
refreshList();
}
反选方法
public void invertSelection() {
for (int i = 0; i < contactList.size(); i++) {
Conta