Есть ли какая -то причина, по которой метод OnPreferenceChange для метода listPreference не вызывается, когда вы используете setValue (...) ? Но когда я программно изменяю значение listPreference < /strong>, его не вызывают.public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
...
// Load the preferences.xml
addPreferencesFromResource(R.xml.preferences);
// Set the summary for each Preference by reading its defaultValue
PreferenceManager.setDefaultValues(getApplicationContext(), R.xml.preferences, false);
// Define a change listener
final String ORIENTATION_KEY = mResources.getString(R.string.pref_quick_orientation_key);
ListPreference preference = (ListPreference) findPreference(ORIENTATION_KEY);
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
// Do something here...
return true;
}
});
...
// Somewhere else in my code, using this code to change the value of the Preference
final String ORIENTATION_KEY = mResources.getString(R.string.pref_quick_orientation_key);
ListPreference preference = (ListPreference) findPreference(ORIENTATION_KEY);
preference.setValue(mResources.getString(R.string.orientation_portrait));
...
}
Подробнее здесь: https://stackoverflow.com/questions/238 ... -is-called
OnPreferenceChangelistener на срабатывании, когда называется setValue (...) ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему цвет фона кнопки внутри всплывающего окна не меняется при срабатывании IsMouseOver?
Anonymous » » в форуме C# - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-