【发布时间】:2014-06-03 20:04:06
【问题描述】:
我有一个为创建上下文菜单注册列表视图的活动:
registerForContextMenu(getListView());
问题是长按某些项目不应该出现上下文菜单,因为这些项目被禁用。
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
bool bDisplayMenu = isItemEnabled(((AdapterView.AdapterContextMenuInfo) menuInfo).position);
if(bDisplayMenu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
else
{
// WHAT SHOUlD I DO HERE TO CANCEL THE CREATION OF THE CONTEXT MENU?
}
}
一旦调用 onCreateContextMenu(),我看不到任何取消上下文菜单创建的方法。
【问题讨论】:
-
@LEO87 事实证明,如果我从 onCreateContextMenu() 返回而不创建菜单(只是调用 super.onCreateContextMenu()),那么菜单将不会出现。
标签: android android-listview contextmenu