Сначала получите ваше предпочтение, а затем добавьте / удалите его.
Ключ берется из вашего файла preference.xml (или как вы его назвали)
<com.test.testing.PreferenceChangeColor
android:key="color_preference"
android:title="Line Color"
android:summary="Change the color of your lines"
android:defaultValue="-16555568" />
Затем в вашем методе onCreate () вашего пользовательского предпочтительного действия вы делаете что-то вроде этого:
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.game_preferences);
userColorPreference = (Preference)getPreferenceScreen().findPreference("color_preference");
Не забудьте личное предпочтение var:
private Preference userColorPreference;
Теперь в вашем методе onSharedPreferenceChanged () вам нужно «взломать», чтобы получить предпочтение обновить.
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("color_preference")) {
getPreferenceScreen().addPreference(userColorPreference);
getPreferenceScreen().removePreference(userColorPreference);
}
}
Это хакерское решение, которое я придумал.
Кто-нибудь знает правильный способ сделать это?