2

首先获取您的偏好,然后添加/删除它。

密钥来自您的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);
        }
    }

这是我想出的黑客解决方案。

有人知道这样做的正确方法吗?

4

0 回答 0