2012-11-07 3 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); 
     } 
관련 문제