2011-03-28 7 views
0

AutoCompleteTextView fonctionne très bien avec un tableau de chaînes défini dans vos ressources. Cependant, si vous utilisez l'exemple standard de la liste des pays, tel que vu sur le site du développeur android, la liste sera différente pour chaque locale.Meilleure façon d'avoir i18n autocompletetextview

Supposons que vous deviez afficher les noms de pays i18n mais sous le capot, vous devez suivre le code pays ISO. L'auto-complétion doit donc être spécifique au pays (locale) et triée correctement.

Pour l'instant, je suis en train de transporter des collections de listes de pojos de pays avec des attributs isocode et description pour les paramètres régionaux. Pour l'autocompletelist j'utilise les descriptions dans leur propre tableau et puis quand j'ai besoin de l'isocode je fais une recherche inversée dans la collection.

Il doit y avoir un meilleur modèle pour ce genre de chose. Cas d'utilisation similaire autour des filateurs. Des recommandations?

Répondre

0

L'adaptateur n'a pas à retourner une liste de chaînes. Si vous avez une liste de pojos de pays, utilisez simplement l'adaptateur (ListAdapter par exemple). Vous voudrez peut-être faire votre propre implémentation du filtrage ou demander à Country.toString() de retourner quelque chose qui convient au tri.

+0

donc la méthode country tojo toString devrait renvoyer la version i18n du pays lu des ressources? Et cela fonctionnerait pour l'auto-complétion, mais j'aurais quand même accès au code dans le pojo? Il n'y a rien comme un tableau de chaînes avec une clé pour chaque article est là? –

+0

Vous recherchez une carte? –

+0

Peut-être .. par exemple. pour l'exemple du pays avec le code ISO quelque chose comme ça serait génial. Autriche et ainsi de suite. En ce moment j'ai juste un tas de chaînes normales dans les ressources que je lie ensemble à une carte dans le code .. et oui. On pourrait l'appeler une carte à cordes ;-) –