Я создаю приложение с двумя действиями и хочу установить кнопку включения темы в первом и втором действии.
Метод setTheme () работает только при первом действии
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES) {
setTheme(R.style.OLEDTheme);
} else {
setTheme(R.style.AppTheme);
}
Switch oledModeSwitch = (Switch) findViewById(R.id.OLEDSwitch);
if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES) {
oledModeSwitch.setChecked(true);
}
oledModeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean Check) {
Intent intent = new Intent(getApplicationContext(), SettingsActivity.class);
finish();
if (Build.VERSION.SDK_INT >= 21) {
overridePendingTransition(R.anim.from_alpha, R.anim.to_alpha);
}
startActivity(intent);
if (Check) {
Toast.makeText(getApplicationContext(), "Тема успешно активирована", Toast.LENGTH_SHORT).show();
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
Toast.makeText(getApplicationContext(), "Тема успешно дезактивирована", Toast.LENGTH_SHORT).show();
}
}
});
Только тема установленапервое действие, но я ожидаю, что установлено на первое и второе действие