一、先對某一個控制項註冊,使得他能夠產生菜單
registerForContextMenu(this.gallery); //註冊一個gallery空間的的菜單
二、當觸發控制項的時候,建立菜單
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
if (v == gallery) { //判斷是哪個ListView www.2cto.com
//擷取當前長按的下標
Toast.makeText(getApplicationContext(), "111", 0).show();
menu.add(0, 1, 0, "上傳圖片");
menu.add(0, 2, 0, "刪除圖片");
// int i = ((MyGallery)menuInfo).posi;
//
// //具體操作
// menu.setHeaderTitle(list.get(i).get("TITLE").toString()).setHeaderIcon(R.drawable.icon);
// menu.add(0, menu.FIRST, Menu.NONE, "Item 1");
//
// if (i == 2) {
// menu.add(0, menu.FIRST+1, Menu.NONE, "Item 2").setCheckable(true);
// menu.add(0, menu.FIRST+2, Menu.NONE, "Item 3").setShortcut(’3′, ’3′);
// } else {
// SubMenu sub = menu.addSubMenu("Submenu");
// sub.add("Submenu Item");
// }
}
super.onCreateContextMenu(menu, v, menuInfo);
}
三、針對菜單的選項
@Override
public boolean onContextItemSelected(MenuItem item) {
int i = gallery.getSelectedItemPosition();
Toast.makeText(getApplicationContext(), item.getTitle(), 0).show();
Toast.makeText(getApplicationContext(), i+"", 0).show();
return super.onContextItemSelected(item);
}