TLDR:
当提到点击的项目时,我宁愿使用“shareButton”而不是“2131427332” onCreateContextMenu()
。我怎样才能做到这一点?
解释:
我有一个带有两个上下文菜单的活动。因此,在我的onCreateContextMenu()
方法中,我正在检索所单击项目的 id,并膨胀相应的菜单。
但是 - 我知道如何做到这一点的唯一方法是使用v.getId();
- 这似乎很糟糕/奇怪,因为我在 if 块中使用系统生成的 id 而不是我自己创建的 id。有一个更好的方法吗?那个id会改变吗?我可以使用 XML 项目的 id 代替这个自动生成的 id 吗?
代码:
/**
* Opens the context menu(s)
*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
if(v.getId() == 2131427332)
{
inflater.inflate(R.menu.share_menu, menu);
}
else if(v.getId() == 2131427329)
{
inflater.inflate(R.menu.options_menu, menu);
}
}