如何在Android上自定义PreferenceActivity中刷新特定首选项?

时间:2011-08-14 00:14:53

标签: android preferenceactivity preference

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

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

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

任何人都知道这样做的正确方法吗?

0 个答案:

没有答案