gpt4 book ai didi

android - 如何在调用 onCreateContextMenu() 后取消上下文菜单的创建

转载 作者:行者123 更新时间:2023-11-29 00:36:29 26 4
gpt4 key购买 nike

我有一个为创建上下文菜单注册 ListView 的 Activity :

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() 被调用,我看不出有什么方法可以取消上下文菜单的创建。

最佳答案

好吧,事实证明,如果我在调用 super 后立即退出 onCreateContextMenu(),那么上下文菜单根本不会出现。

不确定这是要走的路(我没有看到任何关于此的文档)。

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
{
return; // the context menu will not be displayed
}

}

关于android - 如何在调用 onCreateContextMenu() 后取消上下文菜单的创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com