我有一个通过XML资源定义的菜单。现在动态地我添加了一个菜单项。
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu, menu);
if(myCondition==true)
{
menu.add(0, 99, 0, "new Entry");
}
return true;
}
在onOptionsItemSelected(MenuItem item)方法中,我有一个case语句用于检查"99"并执行我的操作。从技术上讲,这样做是没问题的,我只是想知道我应该选择什么数字,这里选择99?在XML中创建的项目通过资源文件获得了一个ID,我猜Android有一些逻辑来创建这些项目。我想知道是否可能会出现一个生成的菜单项也得到了99,然后它将不再起作用。哪种方式最好呢?
setOnMenuItemClickListener(menuItemClickListener)
定义一个不同的menuItemClickListener
。 - Ramseys