无法在基本类型boolean上调用getItemId()

时间:2012-02-22 20:40:53

标签: android xml boolean

我是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;

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

不是这个:

switch (item.getItemId())

但:

switch(menu.getItemId())

失败的原因正如错误所说的那样。布尔是原始的,而不是对象。我假设在这个摘录之上的某个地方是行boolean item;。如果您对布尔值进行了切换,则唯一可能的情况是truefalse

使用item而不是menu - 这是作为参数传递给此方法的menuItem。

不幸的是,我不知道* .getItemId()是否适用于menuItem。我没试过。如果没有,请告诉我,我会帮助您找到另一种方式。