我有一个基于片段的应用程序,其中一些片段具有我想要作为按钮放入ActionBar
的其他操作,而有些片段没有任何此类操作。我创建了一个xml菜单文件,其中包含所有片段的所有项目,我在运行时显示/隐藏,具体取决于当前使用以下组合显示的片段:
MenuItem item = menu.findItem(some_id);
item.setVisible(false);
MenuItem item = menu.findItem(some_other_id);
item.setVisible(true);
问题在于,当我查看没有菜单项的片段时,如果我更改设备方向然后更改为不同的片段 - 使用菜单项 - 这些项目不会显示在ActionBar
中只能使用设备的“菜单”按钮访问。
所有菜单项都在xml文件中设置为android:showAsAction="always"
,但如果在查看没有菜单项的片段时完成最后一次方向更改,则它们始终无法显示在ActionBar
中。这种情况发生在从纵向到横向和横向到纵向的变化中。
如何强制项目始终显示在ActionBar
中?
答案 0 :(得分:2)
两点:
ActionBar
中显示的最大项目数,如果您希望片段在ActionBar
出现时将其添加到Fragment
,并在隐藏时删除,则不需要在单个xml菜单文件中手动显示/隐藏项目,而是根据Fragments - Adding items to the Action Bar guide在每个{{1}}个项目中添加项目。