我的android 第19天 - 上下文菜单
实现流程
5、对列表项注册上下文菜单
. registerForContextMenu(listView)或者
listView.setOnCreateContextMenuListener(this);
给liestView注册上下文菜单
. onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo):创建列表项的上下文菜单
此方法每次显示上下文都会触发
. 装配上下文菜单(与选择菜单差不多)
. 设置上下文菜单的标题:menu.setHeaderTitle(name);
6、监听上下文菜单
•onContextItemSelected
•对上下文菜单进行业务处理
/** * 每次显示上下文菜单的时都会触发(每次长按ListView的列表项显示上下文菜单 */ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; // 取出当前Item对应的map数据 HashMap<String, Object> map = data.get(info.position); // 取得书名 String name = map.get(NAME).toString(); // 设置上下文菜单的顶部标题 menu.setHeaderTitle(name); getMenuInflater().inflate(R.menu.menu_book_context, menu); } /** * 监听选择菜单的点击 */ public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case R.id.menu_add: // 添加 menuEidtOrAdd(null); break; case R.id.menu_delete: // 删除 optionsMenuDelete(); break; case R.id.menu_good_look: // 好看 case R.id.menu_not_good_look: // 不好看 optionsMenuGoodLookOrNot(itemId); break; } return super.onOptionsItemSelected(item); }