Question

Je travaille sur la mise en œuvre des préférences pour notre application. Je sais comment afficher les préférences et l'interface utilisateur à lire / valeurs d'écriture en utilisant SharedPreferences. Dans notre application, je dois gérer deux ensembles de préférences et je voudrais poser des questions sur cette question, un commentaire dans les documents Android en particulier.

Le a le commentaire suivant dans la section Return values:

Returns Les SharedPreferences où cette préférence lit sa valeur (s), ou une valeur nulle si elle n'a pas été fixée à une hiérarchie de préférences.

Je voudrais demander comment il est possible de joindre un SharedPreferences à un Preference particulier, que ce soit EditTextPreference ou autres. En d'autres termes, comment le code de persistance dans un savoir de Preference qu'il doit stocker l'entrée d'utilisateur dans un objet SharedPreferences particulier et non l'autre?

Pour expliquer ma question encore un exemple, supposons que je donne les résultats suivants:

SharedPreferences prefs1 = getSharedPreferences(file1, mode);
SharedPreferences prefs2 = getSharedPreferences(file2, mode);

Ma question est ce que je devrais utiliser l'API pour que prefs1 est utilisé par le code de persistance des objets Preference et non prefs2.

La cible est le Nexus One, en cours d'exécution 2.3.4.

Peut-être que la réponse est évidente, mais je ne pouvais pas le trouver après avoir lu la documentation et de recherche sur le Web. Nous vous remercions d'avance pour votre aide.

Était-ce utile?

La solution

En d'autres termes, comment le code de persistance dans un savoir de préférence qu'il doit stocker l'entrée de l'utilisateur dans un SharedPreferences objet particulier et non l'autre?

Preference utilise le PreferenceManager de getSharedPreferences(), qui a finalement routes à getDefaultSharedPreferences().

Nous vous invitons à créer vos propres sous-classes Preference qui changent ce comportement, mais étant donné que le système d'écran de préférence ne peut pas être conçue pour gérer plusieurs objets SharedPreference, il y a une chance que vos modifications de préférence pourraient ne pas se persista.

OIEau, je vous encourage à reconsidérer:

Dans notre application, je dois gérer deux ensembles de préférences

scroll top