Я уже использую setTheme () в onCreate (), например:
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
data = Utility.GetTheme(this);
if(data.isDarktheme())
setTheme(R.style.DarkTheme);
else
setTheme(R.style.LightTheme);
setContentView(R.layout.activity_options);
...
Так что, если я использую refreshate () в упражнении:
switch_theme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked)
setTheme(R.style.DarkTheme);
else
setTheme(R.style.LightTheme);
saveTheme();
recreate();
}
});
Мое приложение зависает, когда я читаю в другом вопросе, что оно переходит в бесконечное число l oop. Есть ли способ исправить это, желательно с сохранением этого setTheme () в начале onCreate ()?