在preferenceChangeListener每一个设置 [英] OnPreferenceChangeListener for every setting
问题描述
我知道我可以做这样的事情:
I know that I can do something like this:
Preference pref = findPreference(getString(R.string.pref_vibrate_on_key));
pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
LogUtil.d("Working!");
return true;
}
});
不过,我想一个监听器添加到每个preference。 我试着这样做的:
But I would like to add a Listener to every preference. I tried doing:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
sp.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
LogUtil.d("working!");
}
});
,但它不工作。 这可能吗?如果是的话,我究竟哪里做错了?
but it doesn't work. Is this possible? If so, what am I doing wrong?
推荐答案
我发现使用雷托•梅耶尔回答一个替代方法<一href="http://stackoverflow.com/questions/531427/how-do-i-display-the-current-value-of-an-android-$p$pference-in-the-$p$pference-sum">http://stackoverflow.com/questions/531427/how-do-i-display-the-current-value-of-an-android-$p$pference-in-the-$p$pference-sum
I found a workaround using Reto Meier answer at http://stackoverflow.com/questions/531427/how-do-i-display-the-current-value-of-an-android-preference-in-the-preference-sum
使用他的方法它的工作。
Using his approach it does work.
PS:感谢雷托:)
这篇关于在preferenceChangeListener每一个设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!