如何拒绝onSharedPreferenceChanged()侦听器中的更改

伊洛姆博姆

onSharedPreferenceChanged()听众没有一个boolean类型的回报,作为onPreferenceChanged()听者。

那么验证后如何拒绝更改呢?

对我而言,唯一发生的方法是将所有共享的首选项存储在局部变量中,如果验证失败,则从局部变量中恢复值,如果通过则更新局部变量。

这是双重工作吗?是否有内置的拒绝机制?

X码

这是双重工作吗?

我想是这样。如果代码的一部分将拒绝此更改,为什么代码的另一部分允许它呢?

是否有内置的拒绝机制?

onPreferenceChange提交用户输入之前,先对其进行验证看起来,它的目的onSharedPreferenceChanged不是验证,而是在提交更改后接收只读实时更新。

由于其他代码可以接收此回调并对其执行操作,因此在此回调期间进行验证为时已晚。

参考(Preference Javadoc):

此类提供要在活动中显示的View,并与SharedPreferences关联以存储/检索首选项数据

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章