如何解决AndroidX 首选项不会自动从 SharedPreferences 文件加载保存的值
迁移到 androidx Preference API 后,我没有看到应用自动加载的首选项值。
例如,我有一个 ChecBoxPreference
。理想情况下,选中/取消选中自动保存到 SharedPreferences 文件,每次打开设置屏幕时,应用程序都会读取该值,并且复选框状态(选中/取消选中)会正确更新。但是,在迁移到 androidx 后,我没有看到这种情况发生。
我确实看到该值保存在 SharedPreferences 文件中,但我只是没有看到小部件正确更新状态。
偏好:
<CheckBoxPreference
android:key="mute_alarm_audio_key"
android:title="Mute alarm audio" />
内部片段类:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
preferenceManager.sharedPreferencesName = SHARED_PREFS_FILE
preferenceManager.sharedPreferencesMode = Context.MODE_PRIVATE
}
override fun onCreatePreferences(savedInstanceState: Bundle?,rootKey: String?) {
setPreferencesFromresource(R.xml.preferences_startup,rootKey)
}
尝试使用 addPreferencesFromresource
代替 setPreferencesFromresource
,但似乎没什么区别。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。