首先获取您的偏好,然后添加/删除它。
密钥来自您的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");
不要忘记私有的 Preference 变量:
private Preference userColorPreference;
现在在您的 onSharedPreferenceChanged() 方法中,您需要“破解”以获取刷新首选项。
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("color_preference")) {
getPreferenceScreen().addPreference(userColorPreference);
getPreferenceScreen().removePreference(userColorPreference);
}
}
这是我想出的黑客解决方案。
有人知道这样做的正确方法吗?