OptionsMenu以双精度显示

时间:2011-08-24 15:19:03

标签: android options-menu

我在Fragment内有一个Activity。此活动包含OptionsMenu

我使用FragmentTransaction启动同一个Fragment类的新实例,当我选择OptionsMenu时,它显示为double,因为它加载了两次。

如何管理片段之间的OptionsMenu

感谢。

PS:对不起英文

3 个答案:

答案 0 :(得分:0)

没有办法这样。您可以处理BackPressed并将自己的自定义菜单显示为新的fragmnet。或者根据您的片段类和内容管理FragmentTransaction不活动内部的选项菜单

答案 1 :(得分:0)

我找到了解决方案,

我只在Activity中创建OptionsMenu。 我也在Activity上获得了OptionsItemsSelected。

当onOptionsItemSelected()出现时,我得到当前的Fragment:

FragmentManager fg = getSupportFragmentManager();
Fragment frag = fg.findFragmentById(R.id.fragmentMap);

我所有的片段都有相同的ID,但我总是将片段放在顶部。 然后,我可以打电话:

frag.onOptionsItemSelected(item);

到Fragment接收,我的UI正确更新。

我希望它有所帮助。

答案 2 :(得分:0)

尝试在setHasOptionsMenu(boolean)扩展课程中使用Fragment, 如果设置为true,则FragmentManager应自动调用当前片段的onOptionsItemSelected, 设置为false,您可以在Activity onOptionsItemSelected

中手动调用这些回调

为我工作......:)