jjzjj

onSharedPreferenceChanged

全部标签

android - 如何拒绝 onSharedPreferenceChanged() 监听器中的更改

onSharedPreferenceChanged()监听器没有要返回的bool类型,而onPreferenceChanged()监听器有。那么如何在验证后拒绝更改?我想到的唯一方法是将所有共享首选项存储在局部变量中,如果验证失败,则从局部变量恢复值,如果通过则更新局部变量。这是在做双重工作吗?是否有内置的拒绝机制? 最佳答案 Isthisdoingdoublework?我是这么认为的。如果代码的一部分要拒绝此更改,为什么代码的另一部分允许它?Isthereabuilt-inmechanismforreject?用户输入应在提交前在

android - onSharedPreferenceChanged 在某些 Android 设备上导致堆栈溢出

我刚刚发布了我的第一个安卓动态壁纸。我在我的手机和几个friend的手机上对它进行了bug测试,没有发现任何问题,但显然在某些设备上它会卡在递归循环中,并在用户尝试更改设置时导致堆栈溢出错误。我认为问题的发生是因为我有某些“主题”设置需要更改其他几个持久值。例如,一个主题将设置默认颜色、速度、背景等。似乎当我使用Editor.commit()以编程方式保留这些值时,它会一次又一次地调用onSharedPreferenceChanged...由于这是动态壁纸,我在透明首选项屏幕后面运行了一个预览,我需要它来反射(reflect)所做的设置更改。我还需要slider/颜色选择器/列表首选项

java - 无法让 onSharedPreferenceChanged() 工作

我想在用户从我的preferenceActivity中的ListPreference中选择特定项目时显示一个对话框。但是,我无法让onSharedPreferenceChanged()工作。我在方法的开头放了一个Toast,它没有显示,所以这个方法根本就没有跑完,这是为什么呢?这是我的代码:(谢谢)publicvoidonSharedPreferenceChanged(SharedPreferencessharedPreferences,Stringkey){Toast.makeText(Preferences.this,"prefsChanged",Toast.LENGTH_SHOR

android - onSharedPreferenceChanged() 从未调用过

我最近将HoloEverywhere库从GitHub导入到Eclpse中,并开始在已经运行的应用程序中使用它。总的来说,我对图书馆很满意,一切进展顺利。我正在尝试使用org.holoeverywhere.preference.PreferenceActivity代替我的旧PreferenceActivity。UI看起来应该如此,但我注意到onSharedPreferenceChanged()再也不会被调用了。我做错了什么?据我所知,我正在按预期使用该库。使用HoloEverywhere,我几乎没有将旧版本中的任何内容更改为新版本。虽然有很多关于SO的相关问题,但我找不到任何可以解决我的

android - onSharedPreferenceChanged 没有一直触发

我对这个方法有一个奇怪的问题。它被称为,当我编辑EditTextPreference时,只有当我更改值时,并且只有在我第一次更改时才在MultiSelectListPreference上。这是我的fragment代码。publicclassPrefFragmentextendsPreferenceFragmentimplementsOnSharedPreferenceChangeListener{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setReta

Android:onSharedPreferenceChanged 不改变 PreferenceScreen 的摘要

我有一个子屏幕:我在中实例化首选项publicclassGamePreferenceActivityextendsPreferenceActivityimplementsSharedPreferences.OnSharedPreferenceChangeListener{publicvoidonSharedPreferenceChanged(SharedPreferencessharedPreferences,Stringkey){log.debug("onSharedPreferenceChanged("+key+")");PreferenceScreenpreferenceScre

android - 为什么自定义 DialogPreference 不会在 onSharedPreferenceChanged 监听器上触发?

我正在尝试在首选项中设置对话框首选项,用户只需单击肯定按钮即可触发某些操作。(清除数据库?否|是)publicclassMyDialogPreferenceextendsDialogPreference{publicMyDialogPreference(Contextcontext,AttributeSetattrs){super(context,attrs);//TODOAuto-generatedconstructorstub}@OverrideprotectedvoidonDialogClosed(booleanpositiveResult){super.onDialogClos

android - 铃声首选项未触发 onSharedPreferenceChanged

我的首选项都会在更改时触发onSharedPreferenceChanged事件。它适用于所有首选项:复选框、列表、自定义等。但如果我从RingtonePreference中选择铃声,则不会调用它。我有这段代码:还有我的类(class):publicclassTimePrefsActivityextendsPreferenceActivityimplementsOnSharedPreferenceChangeListener{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInst

android - 如果在单独的 Activity 中发生更改,则不会触发 onSharedPreferenceChanged?

我已经在我的主要Activity中实现了onSharedPreferenceChanged。如果我在主要Activity中更改首选项,我的事件就会触发。如果我通过我的首选项屏幕(PreferenceActivity)更改首选项,我的事件不会在首选项更改时触发(因为它是一个单独的Activity和对sharedPreferences的单独引用?)有没有人建议我应该如何克服这种情况?谢谢!EDIT1:我尝试在我的偏好Activity中添加事件处理程序,但它永远不会触发。在我的偏好Activity的onCreate期间调用以下方法。当我更改值时,它从不打印消息(msg()是Log.d的包装器

android - 如果在单独的 Activity 中发生更改,则不会触发 onSharedPreferenceChanged?

我已经在我的主要Activity中实现了onSharedPreferenceChanged。如果我在主要Activity中更改首选项,我的事件就会触发。如果我通过我的首选项屏幕(PreferenceActivity)更改首选项,我的事件不会在首选项更改时触发(因为它是一个单独的Activity和对sharedPreferences的单独引用?)有没有人建议我应该如何克服这种情况?谢谢!EDIT1:我尝试在我的偏好Activity中添加事件处理程序,但它永远不会触发。在我的偏好Activity的onCreate期间调用以下方法。当我更改值时,它从不打印消息(msg()是Log.d的包装器
12