Как сохранить настройки темы, используя общие настройки в КотлинеAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Как сохранить настройки темы, используя общие настройки в Котлине

Сообщение Гость »


Итак, я пытаюсь изменить тему приложения с помощью переключателя и сохранить настройки темы с помощьюsharedPrefrence, хотя мне каким-то образом удается заставить это работать, но есть некоторые проблемы.

`переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView (R.layout.activity_main) // инициализация переключателя и переменнойsharedPref val themeSwitch = findViewById(R.id.theme_switch) valsharedpref = getSharedPreferences("theme_pref",MODE_PRIVATE) редактор val =sharedpref.edit() themeSwitch.isChecked =sharedpref.getBoolean("theme_switch_is_checked",true) //проверяем, включен переключатель или нет весело loadTheme(){ val isChecked = themeSwitch.isChecked если (проверено) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) редактор.применить() }еще{ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) редактор.применить() } } загрузитьТема() //если используется тема, измените ее и вызовите функцию loadTheme() themeSwitch.setOnClickListener { если (themeSwitch.isChecked) { editor.putBoolean("theme_switch_is_checked",true) загрузитьТема() } еще { editor.putBoolean("theme_switch_is_checked",false) загрузитьТема() } редактор.применить() }` Этот код работает, но проблема, с которой я столкнулся, заключается в том, что всякий раз, когда я меняю тему, значения в моем текстовом представлении стираются, и кажется, что весь макет обновляется.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»