如何隱藏操作欄中的菜單項?我有一個帶有menuitem的操作欄。如何隱藏/顯示該菜單項?這就是我想要做的:MenuItem item = (MenuItem) findViewById(R.id.addAction);item.setVisible(false);this.invalidateOptionsMenu();
3 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
獲取MenuItem
指向此類項目,調用setVisible
它以調整其可見性,然后調用invalidateOptionsMenu()
您的活動,以便相應地調整ActionBar菜單。
更新: A MenuItem
不是您的布局的常規視圖。它的特殊之處,完全不同。你的代碼返回null
了item
,并且是造成死機。你需要做的是:
MenuItem item = menu.findItem(R.id.addAction);
這是你應該調用的順序:首先調用invalidateOptionsMenu()
然后在里面onCreateOptionsMenu(Menu)
獲取對MenuItem的引用(通過調用menu.findItem()
)并調用setVisible()
它

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
您正嘗試從活動訪問菜單項,該活動無權訪問范圍。查找菜單項的調用將返回null,因為視圖沒有綁定活動或調用的布局。
菜單項與諸如“ 導航欄 ”之類的項目綁定,而“ 導航欄 ”又與相應的活動綁定。
因此,在activity()中初始化這些視圖,然后使用該視圖訪問菜單項。
Navigation navView;navView = findViewById(R.id.navigationView);MenuItem item = navView.getMenu().findItem(R.id.item_hosting);item.setVisible(false);
- 3 回答
- 0 關注
- 550 瀏覽
添加回答
舉報
0/150
提交
取消