Domanda

Come si ottiene il valore di default di una preferenza Android definiti in XML? Non voglio ripetere la definizione del valore di default sia il codice e le preferenze XML.

È stato utile?

Soluzione

È possibile definire il valore di default di risorse (/values/bool.xml):

<resources>
    <bool name="mypreference_default">true</bool>
</resources>

Usa il valore nel preferences.xml:

<CheckBoxPreference
    android:defaultValue="@bool/mypreference_default"
    android:key="mypreference"
    android:title="@string/mypreference_title" />

Quindi utilizzare nel codice:

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
Boolean value = context.getResources().getBoolean(R.bool.mypreference_default);
Boolean b = p.getBoolean("mypreference", value);

Altri suggerimenti

Per prima cosa è necessario definire i valori di default nel file XML preferenze. Quindi è possibile popolare preferenze con i valori di default nella vostra attività principale chiamando:

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

Quando è necessario recuperare una certa preferenza basta chiamare:

int value = prefs.getInt("key", null);

Dal momento che le preferenze sono popolate non sarà possibile ottenere il valore null.

Create integer.xml sotto res/values per memorizzare numeri interi costanti.

In riferimento prefereces.xml "@integer/default_brightness"

Nel codice context.getResources().getInteger(R.integer.default_brightness)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top