Android Activity和Fragment Options菜单排序

时间:2014-05-19 06:43:29

标签: android android-actionbar android-optionsmenu

我最多有两个由我的活动创建的选项菜单项。根据显示的当前片段(使用选项卡控件进行更改),我会显示另外一个或两个项目。

创建的所有项目应始终显示(在任何给定时间最多3个)。

我的问题实际上是关于物品的订购。我找不到任何标准。我的活动项目应该是否正确,然后将项目左侧的项目分段?反之亦然?

由于

1 个答案:

答案 0 :(得分:6)

如果您在菜单XML中使用android:orderInCategory属性,它们可以是您喜欢的任何顺序。

如果你没有指定这个值,那么它将默认为某个值(可能为零)。由于您的所有商品都具有此默认值,因此订单将取决于以下内容:

  • 您以XML格式声明项目的顺序
  • 您的片段获得onCreateOptionsMenu回调的顺序。

Activity首先获取onCreateOptionsMenu回调,因此这些项目将首先添加到菜单对象中。然后它将相同的调用分派给它的片段。我没有深入到源代码中告诉你Android如何决定哪个片段首先获得回调(如果有定义的顺序),但由于orderInCategory是相同的,所以项目应该添加到菜单。所以你最终会得到

  • 活动的XML顺序菜单项
  • “第一个”片段的XML顺序菜单项
  • 下一个片段的XML顺序菜单项