如何知道单击哪个视图打开上下文菜单?

时间:2012-09-02 13:38:38

标签: android contextmenu

我有两个按钮,我注册了一个上下文菜单

but1=(ImageButton)findViewById(R.id.imageViewX);
but2=(ImageButton)findViewById(R.id.imageViewY);      
registerForContextMenu(but);
registerForContextMenu(but2);

我在onContextItemSelected(MenuItem项)中遇到问题如何知道用户是否点击了but1或but2? id = item.getItemId();我已选择项目的ID,但我想知道在onContextItemSelected方法中单击了哪个按钮。

1 个答案:

答案 0 :(得分:0)

创建contextitem时,为两个Imagebuttons中的每一个创建唯一ID

 public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo)
 {
   if(view.getId() == R.id.imageViewX)
      menu.add(Menu.NONE, Menu.FIRST+1, Menu.NONE, "imageViewX");
   else     
      menu.add(Menu.NONE, Menu.FIRST+10, Menu.NONE, "imageViewY");

   super.onCreateContextMenu(menu, view, menuInfo);
 }

并在

public boolean onContextItemSelected(MenuItem item) {
    if (item.getItemId() == (Menu.FIRST+1)) {
       //do something
    }else if(item.getItemId() == (Menu.FIRST+10)){
       //do something else
    }

}