ListPreferences更改时,不会调用onPreferenceChange方法

我在我的代码中有一个首选项活动。 当用户更改Listpreferences中的单选button时,我想要显示敬酒。 我用这个代码,但它不工作。 🙁

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; } }); } } 

我的问题是什么?

Solutions Collecting From Web of "ListPreferences更改时,不会调用onPreferenceChange方法"

将您的onCreate代码更改为:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.prefs); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); } 

您没有将registerOnSharedPreferenceChangeListener添加到PrefsActivity活动。