复选框preference - onShared preferenceChanged方法没有得到所谓的 [英] CheckBoxPreference - onSharedPreferenceChanged method not getting called
本文介绍了复选框preference - onShared preferenceChanged方法没有得到所谓的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一对夫妇复选框preferences
的设置,我的preference类扩展 preferenceActivity
和农具 OnShared preferenceChangeListener
这是我使用,使人民生活选中/取消选中回应什么复选框preferences
:
公共无效onShared preferenceChanged(共享preferences P,串K){
如果(K.equals(复选框pref_KEY_HERE)){
MyClass.BooleanVariable = P.getBoolean(复选框pref_KEY_HERE,真正的);
}
}
据我所知道的, onShared preferenceChanged
方法上面甚至从来没有得到所谓的?
解决方案
复选框preference =(复选框preference)this.find preference(复选框pref_KEY_HERE);复选框preference.setOn preferenceChangeListener(新在preferenceChangeListener(){
@覆盖
在preferenceChange公共布尔(preference preference,对象为newValue){
//做你的工作在这里
返回true;
}
});
I have a couple of CheckBoxPreferences
set up, my preference class extends PreferenceActivity
and implements OnSharedPreferenceChangeListener
This is what I'm using to respond to people checking/unchecking the CheckBoxPreferences
:
public void onSharedPreferenceChanged(SharedPreferences P, String K) {
if (K.equals(CheckBoxPref_KEY_HERE)) {
MyClass.BooleanVariable = P.getBoolean("CheckBoxPref_KEY_HERE", true);
}
}
As far as I can tell, the onSharedPreferenceChanged
method above is never even getting called?
解决方案
checkBoxPreference = (CheckBoxPreference) this.findPreference("CheckBoxPref_KEY_HERE");
checkBoxPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// do your work here
return true;
}
});
这篇关于复选框preference - onShared preferenceChanged方法没有得到所谓的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文