0

我有两个按钮,用于注册上下文菜单

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

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

4

1 回答 1

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
    }

}
于 2012-09-02T13:47:37.450 回答