Android菜单传参xml文件



Android菜单传参xml文件,写菜单项的时候发现一个不知道的知识点,问题是这样产生的。写好string.xml文件后,在菜单文件中添加了两个选项:“开始”,“取消”;在Activity中添加两个选项的id:

private static final int OK=1;

private static final int CANCLE=2;

在初始化后,框架回调onCreateOptionsMenu这个方法的时候,添加的组件:

menu.add(0,OK,0,”开始”);

menu.add(0,CANCLE,0,”取消”);


然后问题就出来了,我想知道的是menu菜单添加组件的时候,四个参数都是什么意思,显而易见的是“OK”代表的是id,“开始”和”取消”代表的是显示子菜单的值,而另外两个就不得而知了。通过查资料请教同学终于弄明白了,解释如下:

第一个参数:代表的是分组,在我们使用软件的时候在菜单中经常看到子菜单和子菜单之间有“横线”,如图:

无论是一级菜单还是二级菜单,都有不同的组别,通过查资料显示:分组还有一个用处就是在菜单中插入单选的时候,在同一组中只能选择一个选项,起到限制范围的作用;

如果需要把不同的子菜单放到同一组中,只需要把组别编号设置统一就可以了;不同的组别只需要写不同的组别编号即可。我又测试了一下,按不规则编号排列组件,得到的结果是:系统按组别编号的从小到大的顺序排列组件。

然后就是第三个参数的“0”是什么意思了,这个是组件的顺序。如果“开始”的第三位是“1”“,“取消”的第三位是“0”,那么“取消”就会排布在“开始”的前面,这个很好理解。