在preferenceChange方法不叫列表preferences更改时 [英] onPreferenceChange method isn't called when Listpreferences changes
本文介绍了在preferenceChange方法不叫列表preferences更改时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个preferences活动在我的code。
我想说明敬酒时,在列表preferences不断变化的用户单选按钮。
我用这个code,但它没有作用。 (
I have a Preferences Activity in my code. I want to show a toast when ever user change radio button in a Listpreferences. I used this code but it dose not work. :(
public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {
ListPreference listPreference = (ListPreference) findPreference(key);
listPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// TODO Auto-generated method stub
Toast.makeText(PrefsActivity.this, "second", Toast.LENGTH_LONG).show();
return false;
}
});
}
}
什么是我的问题?
what is my problem?
推荐答案
更改您的onCreate code为:
Change your onCreate code as:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
}
您不添加registerOnShared preferenceChangeListener至prefsActivity活动
you are not adding registerOnSharedPreferenceChangeListener to PrefsActivity Activity
这篇关于在preferenceChange方法不叫列表preferences更改时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文