如何在Android设备上单击菜单按钮打开上下文菜单?任何人都可以帮助我..
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Select");
menu.add(0, v.getId(), 0, "Gmail");
menu.add(0, v.getId(), 0, "Facebook");
menu.add(0, v.getId(), 0, "Twitter");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Gmail"){function1(item.getItemId());}
else if(item.getTitle()=="Facebook"){function2(item.getItemId());}
else if(item.getTitle()=="Twitter"){function3(item.getItemId());}
return true;
}
如何点击菜单按钮打开上面的上下文菜单?
答案 0 :(得分:4)
Are you sure you want to open context Menu on Click of Menu button?
因为上下文菜单适用于特定视图
上下文菜单提供影响UI中特定项目或上下文框架的操作。您可以为任何视图提供上下文菜单,但它们通常用于ListView,GridView或其他视图集合中的项目,用户可以在其中对每个项目执行直接操作。
要在长按一下显示上下文菜单,大多数客户都希望拨打registerForContextMenu(View)
并覆盖onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo)
。
对于设备的菜单按钮,您可以使用Options Menu
<强>更新强>
我从不尝试过,但你可以做点什么,
处理菜单按钮按下设备事件,
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
// ........
}
return true;
}
将线放入其中,
this.openContextMenu(view); // Here view is reference for which you have a register contect menu..