首先获取您的偏好,然后添加/删除它。
密钥来自您的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()方法中,你需要“hack”来获得刷新的偏好。
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("color_preference")) {
getPreferenceScreen().addPreference(userColorPreference);
getPreferenceScreen().removePreference(userColorPreference);
}
}
这是我提出的黑客解决方案。
任何人都知道这样做的正确方法吗?