2014-09-10 196 views
0

我正在使用導航抽屜在片段之間切換。 而且我的操作欄菜單項目與片段不同。Android:無論菜單項隱藏操作欄菜單視圖

我想在抽屜打開時隱藏菜單項視圖。 參考文檔,它建議按ID查找菜單項並隱藏項目。 但是,我的菜單項與片段不同,因此,如何在操作欄上簡單地隱藏/顯示菜單項視圖?有一些國旗可以控制它嗎?

順便說一下,我在DOC中看到它說我可以在onPrepareOptionsMenu()中返回false以使其不顯示,但是我嘗試並最終枉然。我誤解了嗎?

public boolean onPrepareOptionsMenu (Menu menu) 

在API級別1 準備屏幕的標準選項菜單顯示。在菜單顯示之前,每當顯示菜單時都會調用它。您可以使用此方法高效地啓用/禁用項目或以其他方式動態修改內容。 默認實現根據活動的狀態更新系統菜單項。派生類應始終調用基類實現。

參數 菜單作爲最後示出或首先通過onCreateOptionsMenu初始化的選項菜單()。

返回 您必須返回true才能顯示菜單;如果您返回false,則不會顯示。

回答

0

如果人們仍然訪問該鏈接,這是我們如何禁用片段的選項菜單或選項菜單項。

1)在片段的onCreateView()方法添加以下代碼

setHasOptionsMenu(true);// then only we can work with the menu items.Without this onPrepareOptionsMenu() method is not called 
. 

現在覆蓋onPreparedOptionsMenu()方法和隱藏的菜單項。如果隱藏了所有的菜單項,菜單將不會顯示。或使用menu.clear()清除所有菜單項

@Override 
    public void onPrepareOptionsMenu(Menu menu) { 
     super.onPrepareOptionsMenu(menu); 
     menu.findItem(R.id.menu_contacts).setVisible(false); 
     -------------- 
     }