2010-08-13 5 views
0

J'ai choisi le chemin permettant à chaque activité d'implémenter un onSharedPreferenceChangedListener. Pour qu'un service mette à jour les valeurs à renvoyer à plusieurs activités à la fois (peu importe celui qui a le focus)Android - Affichage de setText à partir de la valeur SharedPreference à l'aide de XML

Lorsque l'écouteur est appelé, je n'ai que la clé. Je dois ensuite effectuer une recherche de cette clé pour obtenir la vue correspondante. Cela a échoué. J'ai essayé d'utiliser getCurrentFocus(), puis un findViewWithTag(). Même essayé un .getRoot() après getFocus().

À des fins de test j'ai juste essayé d'obtenir un handle à la vue en dehors de l'auditeur. Je devais m'assurer que setText s'exécutait dans un runnalbe à l'intérieur de l'UIthread pour fonctionner.

J'ai regardé un autre code et ils effectuent un tas d'autres si les contrôles sur la clé. Je pourrais le faire pour avoir un contrôle dynamique de la vue, car je saurais ce que l'identifiant qui correspond à la chaîne de caractères, mais les deux façons semblent inefficaces.

Cela m'amène à la question générale. Est-ce un moyen de remplir le texte d'une vue directement à partir d'une préférence en utilisant XML? Ensuite, je n'aurais pas à m'inquiéter des différentes activités implémentant un Listener. Tout serait contenu dans le fichier XML que je peux déplacer librement.

+0

pourriez-vous s'il vous plaît éloborer avec le code! J'ai du mal à suivre votre question. Peut-être parce que l'anglais n'est pas ma langue maternelle, mais j'apprécierais beaucoup plus si vous pouviez élaborer votre problème avec du code ... :) – Shouvik

Répondre

0

Pour être envoyé pour un service de mise à jour valeurs à plusieurs Activités à la fois (il ne se soucie pas que l'on a le focus)

Pourquoi ne pas utiliser une intention broadast , puis? Ou écouteurs objets enregistrés par les activités avec le service?

Est-ce un moyen de remplir le texte d'une vue directement à partir d'une préférence en utilisant XML?

Pas pour des activités arbitraires.

Questions connexes