Код: Выделить всё
minSdkVersion 17Код: Выделить всё
AppCompatDelegate.setDefaultNightMode(nightMode);
recreate();
< /code>
После обновления темы я возвращаюсь к MainActivity < /code>. Там тема успешно обновлена. Затем я снова открою предпочтения Пока все хорошо! Тема не < /strong> обновлена, и она не будет обновляться, если вы повторяете шаги! Appcompatdelegate.setDefaultnightmode ( mode_night_yes
Код: Выделить всё
)[*] Вернуться к A. Тема обновляется!
Код: Выделить всё
)возвращение к A. Тема не обновлен и будет не , если шаги 3-6 повторяются! Реагировать на изменение темы: < /p>
Код: Выделить всё
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (...) {
recreate();
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
< /code>
Это работает, когда библиотека не реагирует на обновленную тему. В противном случае деятельность воссоздается дважды (возможно, больше при отладке), что убивает производительность и т. Д.: < /p>
D/MainActivity: onActivityResult(): instance 1
D/MainActivity: onResume(): instance 1
D/MainActivity: onPause(): instance 1
D/MainActivity: onDestroy(): instance 1
D/MainActivity: onCreate(): instance 2
D/MainActivity: onResume(): instance 2
D/MainActivity: onPause(): instance 2
D/MainActivity: onDestroy(): instance 2
D/MainActivity: onCreate(): instance 3
D/MainActivity: onResume(): instance 3
Подробнее здесь: https://stackoverflow.com/questions/533 ... y-the-firs
Мобильная версия