Полагаю, вы устанавливаете тему, вызывая setTheme()
перед setContentView()
в вашем методе обратного вызова onCreate()
. Если вы позвоните setTheme()
после setContentView()
, вам придется перезапустить занятие .. Я не очень опытен в смене тем во время выполнения, хотя ... но в любом случае я мог бы придумать что-то вроде:
public void onCreate(Bundle savedInstanceState) {
int theme = getIntent().getIntExtra("theme", <INSERT DEFAULT THEME.. MAYBE FROM PREFS>);
setTheme(theme);
super.onCreate(savedInstanceState);
setContentView(R.layout.notes_list)
}
кнопка "light-theme" возобновляет действие с новым значением темы, которое хранится в намерении:
public void onClickLightButton(View view) {
finish();
Intent i = getIntent();
i.putExtra("theme", android.R.style.Theme_Light);
startActivity(i);
}