/**
* 弹出一个对话框,询问用户是否删除contact
* @param context 上下文
* @param contact 等待用户确认是否删除的联系人
*/
public static void showDelete(final Context context, final Contact contact,final ContactAdapter adapter) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(android.R.drawable.ic_menu_info_details);
builder.setTitle("确认删除");
builder.setMessage("您确实要删除"+contact.getName()+"吗?");
builder.setNegativeButton("再想想", null);
builder.setPositiveButton("删之", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//删除联系人的具体逻辑
//删除不能直接删除contacts表中该联系人的内容
//而是去删除raw_contacts和data表中该联系人的内容
ContentResolver cr = context.getContentResolver();
//从raw_contacts表中删除内容
cr.delete(ContactsContract.RawContacts.CONTENT_URI,
RawContacts.CONTACT_ID + " = ?",
new String[]{String.valueOf(contact.get_id())});
//从data表中删除内容
cr.delete(ContactsContract.Data.CONTENT_URI,
Data.CONTACT_ID + " = ?",
new String[]{String.valueOf(contact.get_id())});
adapter.remove(contact);
}
});
builder.create().show();
}
注:GridView 管理的是Adapter的数据源