我是Android开发新手,我在网上搜索了大多数菜单选项示例。我试图使用“getItemId”处理一个简单的点击事件,我得到以下错误:
无法在基本类型boolean上调用getItemId()。
以下是代码:
public boolean onOptionsItemSelected(MenuItem menu)
{
// Handle Selection of Menu Items
switch (item.getItemId())
{
case(R.id.refresh):Toast.makeText(this, "Refresh", Toast.LENGTH_LONG).show();
break;
case(R.id.info):Toast.makeText(this, "Info", Toast.LENGTH_LONG).show();
break;
}
return true;
提前感谢您的帮助!
答案 0 :(得分:0)
不是这个:
switch (item.getItemId())
但:
switch(menu.getItemId())
失败的原因正如错误所说的那样。布尔是原始的,而不是对象。我假设在这个摘录之上的某个地方是行boolean item;
。如果您对布尔值进行了切换,则唯一可能的情况是true
和false
。
使用item
而不是menu
- 这是作为参数传递给此方法的menuItem。
不幸的是,我不知道* .getItemId()是否适用于menuItem
。我没试过。如果没有,请告诉我,我会帮助您找到另一种方式。