2011-01-12 3 views
0

J'utilise un AutoCompleteTextView avec un ArrayAdapter qui fonctionne comme supposé.AutoCompleteTextView, ArrayAdapter et notifyDataSetChanged()

Le problème est que je dois changer le tableau avec les valeurs de saisie semi-automatique. L'appel de notifyDataSetChanged() n'aide pas. Aucun changement n'est montré.

Connaissez-vous quelque chose pour contourner ce problème?

Répondre

2

Vous devez ajouter plus de détails à la question, mais basé sur une supposition de votre problème, je dirais qu'il y a un problème dans la mise en œuvre. notifyDataSetChanged() informe l'affichage pour recharger les données. Si les méthodes de configuration de données dans ArrayAdapter font référence à une entité de données inchangée, notifyDataSetChanged() n'aura aucun effet.

Une implémentation d'adaptateur personnalisée qui étend ArrayAdapter aura généralement une structure de données interne qui est la source de données pour l'adaptateur et qui contiendra les valeurs de saisie semi-automatique dont vous avez besoin.

+0

bien ... Je l'ai demandé il y a un an. Je ne suis même pas sûr de quel projet j'ai utilisé ceci. Néanmoins, merci pour votre réponse. Au moins, je l'ai upvoted, parce qu'en général votre droit. – mseo

+0

Haha ... ouais j'ai remarqué la date mais je me suis dit que cette question était apparue au début de ma recherche, alors j'ai pensé que cela pourrait aider les autres s'il y avait une réponse listée. À votre santé. –

0

Ne modifiez pas le ArrayList et appelez notifyDataSetChanged() car il n'aura aucun effet sur ArrayAdapters (l'implémentation semble cassée).

Utilisez clear(), add(), insert() et remove() directement sur votre ArrayAdapter au lieu de ces méthodes sur votre ArrayList.

Questions connexes