MeetingContactActivity.this,
rawContact);
} else {
MyDataBase.updateContactById(
MeetingContactActivity.this,
rawContact);
}
break;
}
}
// 将需要删除的联系人保存下来
deleteContacts.add(contact);
}
}
Message msg = new Message();
msg.obj = deleteContacts;
msg.what = DELETE_COMPLETE;
handler.sendMessage(msg);
};
}.start();
}
deleteContacts是用来保存需要删除的联系人,把它赋给msg.obj,再通过handler将消息放入消息队列,最终在handler的handleMessage方法进行删除操作。
handler处理代码:
这里把传递过来list在contactList遍历删除,然后在msg.what为DELETE_COMPLETE的分支进行通知列表刷新。
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.obj != null) {
ArrayList<Contact> deleteContacts = (ArrayList<Contact>) msg.obj;
for (Contact contact : deleteContacts) {
map_NumberSelected.remove(contact.getId());
contactList.remove(contact);
}
}
switch (msg.what) {
case LOAD_CONTACT_FINISHED:
// 判断是否为空
if (contactList == null || contactList.size() == 0) {
syncLayout.setVisibility(View.VISIBLE);
bottomLayout.setVisibility(View.GONE);
listView.setVisibility(View.GONE);
} else {
syncLayout.setVisibility(View.GONE);










