我在操作栏中遇到菜单项问题。看起来当我将项目的可见性设置为false然后重新创建活动时,它似乎不再显示。我在onCreateOptionsMenu中有菜单项,并且基于打开的当前目录,它会改变可见性。它工作正常,直到我重新创建活动。然后它根本没有显示出来。它保持不可见..有没有办法手动重新创建菜单,所以它默认回到菜单文件中的内容?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
if (currentDirectory.equals("/sdcard"))
menu.findItem(R.id.itemOne).setVisible(false);
return true;
}
答案 0 :(得分:1)
我认为你需要的是invalidateOptionsMenu()
方法。这样做是因为它强制重新创建菜单。
如果您希望菜单返回默认值,然后在您的活动中,您可以覆盖public boolean onPrepareOptionsMenu(Menu menu)
并在重新创建菜单后立即进行更改。
我希望这会有所帮助。如果您需要更多详细信息或帮助,请与我们联系。