gpt4 book ai didi

android - 如何动态更改 MenuItem 的可见性?

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:38 24 4
gpt4 key购买 nike

我正在开发一些 Android 应用程序,我有带有 2 个选项卡的 ActionBar。当用户选择第二个选项卡时,我需要在 ActionBar 上显示 2 个图标。我有以下代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
mOptionsMenu=menu;
menu.getItem(0).setVisible(false);
menu.getItem(1).setVisible(false);
return true;
}

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
mViewPager.setCurrentItem(tab.getPosition());
if (tab.getPosition()==1) {
mOptionsMenu.getItem(0).setVisible(true);
mOptionsMenu.getItem(1).setVisible(true);
}
}

但是这段代码不起作用。请告诉我,我怎样才能满足我的需求?

最佳答案

您需要在 onPrepareOptionsMenu() 中设置菜单可见。您可以按如下方式更改代码:

private boolean menuShow = false;

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
mViewPager.setCurrentItem(tab.getPosition());
if (tab.getPosition()==1) {
menuShow = true;
}
}


public boolean onPrepareOptionsMenu(Menu menu) {
if(menuShow){
mOptionsMenu.getItem(0).setVisible(true);
mOptionsMenu.getItem(1).setVisible(true);
}
return true;
}

关于android - 如何动态更改 MenuItem 的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12845872/

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