Context Menu上下文菜单

二、上下文菜单(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的内容

posted @ 2011-12-20 19:38  胖鹅  阅读(231)  评论(0编辑  收藏  举报