android– 实时更新首选项

android– 实时更新首选项,第1张

概述我有一个首选项屏幕,其中有一些互连的首选项.这意味着,如果我有prefx和y,我有时需要y在x改变时改为.我现在正在做的是听prefschange事件,并执行以下 *** 作:SharedPreferences.Editoreditor=prefs.edit();editor.putString("y_pref","somevalue");editor.commit();问题是,

我有一个首选项屏幕,其中有一些互连的首选项.这意味着,如果我有pref x和y,我有时需要y在x改变时改为.

我现在正在做的是听prefs change事件,并执行以下 *** 作:

SharedPreferences.Editor editor = prefs.edit();editor.putString("y_pref", "somevalue");editor.commit();

问题是,要实际看到更改我必须首先关闭prefs屏幕,然后再次打开它,只有这样才能看到新设置的prefs.

有没有办法更改prefs,以便立即可以看到更改,而无需重新加载prefs屏幕?

解决方法:

尝试调用首选项本身的setter,而不是自己更新它:

例如. EditTextPreference.setText().所以偏好本身也会更新它自己的价值.如果您自己进行更新,则首选项将不会获取新值,因为它甚至不知道持久值已更改.

如果您有PreferenceFragment,则可以使用PreferenceFragment.findPreference()获取首选项.

如果您有PreferenceActivity,则可以使用PreferenceActivity.findPreference()获得首选项.

您可以使用在设置XML文件中指定的首选项键来调用它,并获得相应首选项的实例.然后将其转换为CheckBoxPreference,EditTextPreference等(您在XML文件中设置的类型).

总结

以上是内存溢出为你收集整理的android – 实时更新首选项全部内容,希望文章能够帮你解决android – 实时更新首选项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存