ANDROID 发生弹出菜单方法

ANDROID 产生弹出菜单方法

一、先对某一个控件注册,使得他能够产生菜单

registerForContextMenu(this.gallery); //注册一个gallery空间的的菜单

 

二、当触发控件的时候,创建菜单

@Override

  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
      if (v == gallery) { //判断是哪个ListView 
          //获取当前长按的下标 
       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);
 }