Android В настройках Jetpack есть прослушиватель кликов Preference.OnPreferenceClickListener
и прослушиватель изменения предпочтений Preference.OnPreferenceChangeListener
. Однако нет слушателя для случаев, когда значение изменено , то есть слушателя, который вызывается, когда предпочтение успешно обновлено.
Usecase
У меня есть фоновая служба, которая выполняет огромную работу. Он запускается из нескольких мест и в дальнейшем считывает значение из SharedPreferences
.
Теперь проблема в том, что когда служба запускается с OnPreferenceChange()
и пытается прочитать значение SharedPreferences
, значение не Пока не обновлялся.
override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean {
// here newValue is of no use
startService()
return true
}