2016-09-29 88 views
0


我一直在開發一個應用程序,它在列表視圖中存儲一些itens。其中一些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

而不是使用getItem(int),您可以使用它的id獲取該項目。例如:

menu.findItem(R.id.action_settings)