我一直在开发一个应用程序,它将一些itens存储在列表视图中。其中一些有一个类型(正常和基于流量的事件)。当列表视图中存储的元素类型等于基于流量的事件时,我需要设置上下文菜单(查看流量)的项目。
我尝试将条件(Menuitem.setVisible(true))放入onCreateContextMenu和onContextItemSelected方法中,但它们都没有工作。另外我在堆栈溢出处阅读了一些帖子,但没有帮助。
Set visibility in Menu programmatically android
How enable/disable item in contextmenu
有人知道是否有办法做到这一点?
编辑: 我试图使用第二篇文章中引用的一种方法,并设置菜单项可见。我仍然需要获取在列表视图中深度单击的项目的位置以获取其类型。
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.getItem(2).setEnabled(true);
}
答案 0 :(得分:0)
您可以使用其ID来获取项目,而不是使用getItem(int)。例如:
menu.findItem(R.id.action_settings)