选项选择样式始终默认为最后样式选项



我正在尝试创建一个选项,该选项允许用户选择背景颜色。但是,当用户选择一个选项时,它默认为绿色。如果我卸载了该应用程序,则默认为绿色。如果我删除选项绿色,则默认为上面的颜色(蓝色)。我不知道我出了什么问题。任何建议都将不胜感激。

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);
         }
    }
}
if(theme.equals("Green"));

在if块的末尾卸下半隆。

您有一些半彩的位置。

        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);
        }

最新更新