2012-06-18 104 views
-2

我一直在試圖弄清楚爲什麼我的布爾值沒有改變,當我按下按鈕,當我手動改變它的工作,但它沒有做任何事情。我試圖遵循這個詞的教程,但他們不工作。有人可以指出我要去哪裏嗎?安卓菜單代碼不工作

public boolean onOptionsItemSelected(MenuItem menu) 
{ 
    MenuItem freeze = (MenuItem)findViewById(R.id.freeze); 
    // Handle item selection 
    switch (menu.getItemId()) { 
     case R.id.freeze: 
      if (freze == false){ 
       freze = true; 
      } else { 
       freze = false; 
      } 
      return true; 
     case R.id.toggleVolCount: 
      if (toggleVol == true){ 
       toggleVol = false; 
      } else { 
       toggleVol = true; 
      } 
      return true; 
     default: return super.onOptionsItemSelected(menu); 
    } 

感謝您的全力幫助,當我嘗試了建議的代碼並且無法使用時,我又回到了菜單中並改變了菜單。之前,我用一個onClick創建了一個按鈕來創建菜單,當用代碼創建圖標時,我以前編寫的代碼運行良好。希望這有助於除我之外的人,所以我不覺得像這麼大白癡。}

+1

你的意思是'freeze',不'freze'。這會給你一個編譯錯誤,所以我猜這是一個錯字。 – keyser

+1

我認爲它的錯字錯誤。凍結!= freze – 2619

+0

[看看這個](http://www.droidnova.com/how-to-create-an-option-menu,427.html) – Praveenkumar

回答

1

在res文件夾創建一個像繪製

創建該文件夾中新的XML文件optionmenu.xml一個文件夾菜單。

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/menuitem" 
     android:title="Prefs"> 
    </item> 
     <item android:id="@+id/menuitem1" 
     android:title="Prefs1"> 
    </item> 


</menu> 

在onCreate方法編寫代碼....

setOptionMenu(R.menu.optionmenu); 

和菜單的超越控制方法寫代碼.....

@Override 
    public boolean onOptionsItemSelected(MenuItem menu) { 
     switch (menu.getItemId()) { 
     case R.id.menuitem: 
      startActivity(new Intent(this, Prefs.class)); 
      break; 

case R.id.menuitem1: 
      startActivity(new Intent(this, Prefs1.class)); 
      break; 
     default: 
      break; 
     } 

     return true; 
    }