长按条目进行删除

来源:互联网 发布:design center 软件 编辑:程序博客网 时间:2024/05/16 09:36

==================方法一=====================

//长按进行删除

lv.setOnItemLongClickListener(new OnItemLongClickListener() {


@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
final int position, long id) {
AlertDialog.Builder builder = new Builder(MainActivity.this);

builder.setTitle(lp.get(position).getName());
String name[] = {"删除","数据共享","备份"};

builder.setSingleChoiceItems(name, 0, new OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
ConDao cd = new ConDao(MainActivity.this);
cd.del(lp.get(position).getId());
lp = cd.sel();
adapter.refresh(lp);
//关闭
d.dismiss();
break;


default:
break;
}
}
});
d = builder.show();
return false;

}

});


============================方法二 ==================

==在MainActivity中的oncreaView中==

registerForContextMenu(lv);

=====oncreaView中下面====

重写这2个方法

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {

menu.setHeaderTitle("");

menu.add(0, 1, 1, "删除");
menu.add(0, 2, 2, "共享");
menu.add(0, 3, 3, "复制联系人");


super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();

int position = menuInfo.position;
ConDao cdo = new ConDao(MainActivity.this);

cd.del(lp.get(position).getId());
lp = cd.sel();
adapter.refresh(lp);
break;


default:
break;
}

return super.onContextItemSelected(item);
}

0 0