长按某个View后出现的菜单,我们需要为这个View注册上下文菜单!
1、添加xml文件,在menu里写入
<!-- checkableBehavior的可选值由三个:single为单选,all为多选,none为普通选项 -->
<group android:checkableBehavior="none">
<item android:id="@+id/hehe" android:title="哈哈"></item>
<item android:id="@+id/heihei" android:title="嘿嘿"></item>
</group>
2、为view组件注册上下文菜单,使用registerForContextMenu(View view)方法
3、重写onCreateContextMenu()方法,创建上下文菜单
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
//获取xml
MenuInflater inflator = new MenuInflater(this);
inflator.inflate(R.menu.menu, menu);
super.onCreateContextMenu(menu, v, menuInfo);
//menu.add(菜单项的组号,ID,排序号,标题)
}
4、重写onContextItemSelected()方法为菜单项指定事件监听器
//上下文菜单被点击是触发该方法
public boolean onContextItemSelected(MenuItem item) {
//item.getItemId()获取id
return super.onContextItemSelected(item);
}