我想在用户从我的preferenceActivity中的ListPreference中选择特定项目时显示一个对话框。但是,我无法使onSharedPreferenceChanged()正常工作。我在方法的开始部分放了一个Toast,但它没有显示,所以这个方法甚至没有完成,为什么?无法在SharedPreferenceChanged()上工作
这里是我的代码:(感谢)
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
Toast.makeText(Preferences.this, "prefs Changed", Toast.LENGTH_SHORT)
.show();
if (key.equals("boolean_ad_type")) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String value = sharedPreferences.getString("boolean_ad_type", "");
if (value != null && value.equals("Pop-up Ads")) {
Toast.makeText(Preferences.this, "Pop-up Ads Selected",
Toast.LENGTH_SHORT).show();
}
}
}
我还需要实现它在像这样的活动吗? (我试过有和没有,没有区别)
public class Preferences extends PreferenceActivity
implements OnSharedPreferenceChangeListener {
可能重复[SharedPreferences.onSharedPreferenceChangeListener不被一致调用](http://stackoverflow.com/questions/2542938/sharedpreferences-onsharedpr eferencechangelistener-not-being-called-consistent) –