2012-11-07 62 views
0

我正在嘗試創建一個允許用戶選擇背景顏色的選項。但是,當用戶選擇一個選項時,它默認爲綠色。如果我卸載應用程序,背景顏色默認爲綠色。如果我刪除選項綠色,它默認爲上面的顏色(藍色)。我無法弄清楚我錯在哪裏。任何建議將不勝感激。選擇樣式的選項始終默認爲最後樣式選項

public class UserMenu extends Activity implements OnClickListener { 
Button preview; 
Spinner spinnerColor; 
SharedPreferences preferences; 
public static String theme = "Blue"; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     preferences = getSharedPreferences("StylePref", 0); 
     theme = preferences.getString("THEME", "Red"); 
     if(theme.equals("Red")); 
     { 
      setTheme(R.style.Theme_Red); 
     } 
     if(theme.equals("Blue")); 
     { 
      setTheme(R.style.Theme_Blue); 
     } 
     if(theme.equals("Green")); 
     { 
      setTheme(R.style.Theme_Green); 
     } 

     setContentView(R.layout.activity_user_menu); 
     System.out.println(theme); 
     spinnerColor = (Spinner) findViewById(R.id.spinnerColorMenu); 
     preview = (Button)findViewById(R.id.previewButton); 
      preview.setOnClickListener(this); 

    } 

    public void onClick(View v) 


    { 
     SharedPreferences.Editor preferencesEditor = preferences.edit(); 
     String bgColor = spinnerColor.getSelectedItem().toString(); 
     preferencesEditor.putString("THEME", bgColor); 
     preferencesEditor.commit(); 

     if(bgColor.equals("Red")) 
     { 
      //Intent intent = getIntent(); 
      //intent.putExtra("Theme", "Red"); 
      finish(); 
      //startActivity(intent); 
     } 
     else if(bgColor.equals("Blue")) 
     { 
      Intent intent = getIntent(); 
      //intent.putExtra("Theme", "Blue"); 
      finish(); 
      startActivity(intent); 
     } 

     else if(bgColor.equals("Green")) 
     { 
      Intent intent = getIntent(); 
      //intent.putExtra("Theme", "Green"); 
      finish(); 
      startActivity(intent); 
     } 
    } 
} 

回答

1
if(theme.equals("Green")); 

在如果塊末尾移除分號。

+0

天啊,謝謝。我不相信我錯過了這一點。乾杯 – Calgar99

1

你有一些分號不合適的地方。

 if(theme.equals("Red")); <--- Remove this ; 
     { 
      setTheme(R.style.Theme_Red); 
     } 
     if(theme.equals("Blue")); <--- Remove this ; 
     { 
      setTheme(R.style.Theme_Blue); 
     } 
     if(theme.equals("Green")); <--- Remove this ; 
     { 
      setTheme(R.style.Theme_Green); 
     }