Java Android-在片段之间切换;菜单项问题
我的应用程序使用片段、操作栏和导航抽屉。当我在片段之间切换时,我的菜单项会断开,不再起作用。我已经尝试了各种方法来解决这个问题,但都无济于事 在我的片段onCreate中,我设置了选项menutrue 这是我的OnCreateOptions菜单: 这是我的简单OnOptions ItemSelected:Java Android-在片段之间切换;菜单项问题,java,android,android-fragments,menu,Java,Android,Android Fragments,Menu,我的应用程序使用片段、操作栏和导航抽屉。当我在片段之间切换时,我的菜单项会断开,不再起作用。我已经尝试了各种方法来解决这个问题,但都无济于事 在我的片段onCreate中,我设置了选项menutrue 这是我的OnCreateOptions菜单: 这是我的简单OnOptions ItemSelected: 在每个片段的菜单中,我使用menu.Clear;防止在片段之间切换时菜单项堆积。第一次选择碎片时,菜单可以正常运行所选功能,但在切换到另一个碎片并再次返回后,菜单项单击“不执行任何操作”。问题
在每个片段的菜单中,我使用menu.Clear;防止在片段之间切换时菜单项堆积。第一次选择碎片时,菜单可以正常运行所选功能,但在切换到另一个碎片并再次返回后,菜单项单击“不执行任何操作”。问题是您需要清除菜单并再次执行充气菜单 拆下线路
inflater.inflate(R.menu.blank, menu);
相反,您只需清除片段的onCreateOptions菜单中的菜单,这样该菜单就不会为该特定片段显示,而是为其他片段显示
此外,您只需要在Activity OnCreateOptions菜单中对菜单进行充气,该菜单对所有片段都是通用的
在这里也可以看到我的答案 蓟对我来说没什么意义。您是在告诉他不要在片段中为菜单充气,而只是正确地清除它,并且只从活动中加载菜单?那么,对于应该与某些片段而不是其他片段关联的单独菜单项,我们该怎么办?只有在需要隐藏时才清除,如果片段的不同菜单项需要膨胀。是的,这个答案毫无意义。谷歌特别允许片段贡献选项菜单。如果不应该这样做,那么需要提供证据来说明为什么会这样。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.mySearch:
Log.d("Log", "Implementing Search Method");
search();
return true;
case R.id.action_settings:
//do something
return true;
}
return super.onOptionsItemSelected(item);
}
inflater.inflate(R.menu.blank, menu);