2012-02-22 27 views
1

我是android開發新手,我在網上搜索了大部分菜單選項示例。我想處理使用「getItemId」一個簡單的點擊事件,我得到以下錯誤:無法在原始類型上調用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

什麼是'item'? – 2012-02-22 20:42:55

+1

'item'應該是'menu',不是? – 2012-02-22 20:43:26

回答

0

不是這個:

switch (item.getItemId()) 

但:

switch(menu.getItemId()) 

失敗是一樣的錯誤說的原因。布爾是原始的,而不是物體。我假設在這段摘錄之上的某處是boolean item;。如果您在布爾型上進行了切換,則唯一可能的情況是truefalse。使用menu - 這是作爲參數傳遞給此方法的menuItem。

不幸的是,我不知道* .getItemId()會在menuItem上工作。我沒有嘗試過。如果沒有,請告訴我,我會幫你找到另一種方式。