gpt4 book ai didi

java - 无法以编程方式隐藏操作栏菜单项

转载 作者:行者123 更新时间:2023-12-01 16:52:58 26 4
gpt4 key购买 nike

如果共享首选项为 false,我会尝试隐藏操作栏菜单项。

我得到了我想要的共享首选项,但菜单项不会隐藏。

// Inflate a menu to be displayed in the toolbar
toolbar.inflateMenu(R.menu.activity_main_actionbar);

// Enable disable set start page item
if(!sharedPref.getBoolean("enable_custom_startpage", false)) {
toolbar.getMenu().findItem(R.id.setasstartpage).setVisible(false);
}

我做错了什么?

最佳答案

执行此操作的正确位置是onPrepareOptionsMenu。来自 docs ,

Prepare the Screen's standard options menu to be displayed. This is called right before the menu is shown, every time it is shown. You can use this method to efficiently enable/disable items or otherwise dynamically modify the contents.

因此,我建议您覆盖onPrepareOptionsMenu,然后检查其中的共享首选项并相应地显示菜单。比如,

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// Enable disable set start page item
if(!sharedPref.getBoolean("enable_custom_startpage", false)) {
toolbar.getMenu().findItem(R.id.setasstartpage).setVisible(false);
}

return true;
}

关于java - 无法以编程方式隐藏操作栏菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36417211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com