我有一個項目使用抽屜和滑動選項卡,我使用this教程創建。我正在使用支持庫爲較舊的Android版本提供Material Design。我也使用ToolBar
而不是ActionBar
。我有一個菜單attatched該工具欄:如何在工具欄中爲不同的片段設置不同的菜單?
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.menu_main);
我正在努力與每個片段有特定的菜單。我嘗試了許多其他類似問題的答案,如this和this無濟於事。大多數人建議執行these methods,但他們似乎只適用於ActionBar
和在我的情況下,我有一個android.support.v7.widget.Toolbar
。
我也使用
toolbar.getMenu().findItem(R.id.menuitem).setVisible(false);
supportInvalidateOptionsMenu();
嘗試,但它也不起作用。在這種情況下,我的菜單就消失了。
我一直在尋找和掙扎這個星期來利用。難道我做錯了什麼?
如何爲每個片段設置特定的菜單?我認爲隱藏菜單項可能是實現這一目標的更容易的選擇,但如果你們有任何其他方式來實現這一點,我將不勝感激。
您是否在您的活動中的某個位置調用了setSupportActionBar(工具欄)?你應該這樣做,並在onCreateOptionsMenu()方法中增加你的菜單。在那裏你可以處理你的菜單邏輯(無論是通過隱藏還是膨脹不同的菜單),正如你所說的調用supportInvalidateOptionsMenu();當你在片段之間切換時重新創建它。 –
但是,如果我調用setSupportActionBar(工具欄)我的ActionBarDrawerToggle以某種方式停止工作。 –
我不認爲我們可以幫助你,除非你提供更多的代碼,並解釋一下在每種情況下會發生什麼。我認爲我所說的似乎是正確的路要走,所以請讓我們確切地知道這種方法會發生什麼。 –