我已经创建了NavControllerActivity
,它基于iOS的UINavigationController
。我希望应用栏的菜单项仅显示当前显示的片段的菜单项。
目前,当每个新片段被推入导航堆栈时,菜单项只会附加到现有的片段。当我点击Back并从导航堆栈中弹出Fragments时,那些菜单项就会消失。
但是,我想在按下新片段时隐藏/删除现有菜单项,并仅显示该片段的菜单项。然后,当弹出该片段时,我想删除其菜单项并从现在位于堆栈顶部的片段中恢复菜单项。
我目前正在让每个片段生成onCreateOptionsMenu()
中的菜单项。
有没有办法让Android只在我的Activity中显示顶级片段的菜单项?
编辑:我是否需要让Activity直接管理菜单项?每当我推/弹片段时,基本上都会不断地使菜单无效并更换菜单?即仍然在片段中真正定义和控制菜单,但是将封闭的Activity传递给菜单创建调用到堆栈顶部的片段吗?