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");

プライベート設定変数を忘れないでください:

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