二、上下文菜单(Context Menu),用户长时间按着按键不放会弹出的菜单
1、覆盖Activity的onCreateContextMenu()方法,调用Menu的add()方法添加菜单选项
//上下文才菜单(Context Menu),当用户长时间按键不放弹出的菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(0, 0, 0, "contextMenu");
menu.add(0, 1, 0, "contextMenu1");
menu.add(0, 2, 0, "contextMenu2");
}
2、覆盖onContextItemSelected()方法,响应菜单事件
//选择上下文菜单之后触发的事件
@Override
public boolean onContextItemSelected(MenuItem item) {
System.out.println(item.getItemId());
switch(item.getItemId()){
case 0:
Toast.makeText(getApplicationContext(), "case 0", Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(getApplicationContext(), "case 1", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(getApplicationContext(), "case 2", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
3、调用Activity的registerForContextMenu()方法,为视图注册上下文菜单
TextView textView = (TextView)findViewById(R.id.textView);
registerForContextMenu(textView);
备注:一定要有可以注册的控件,然后用户一直按着这个控件,就会弹出ContextMenu的内容