J'utilise un ArrayAdapter pour ajouter des éléments à un ListView personnalisé et afficher les résultats dans mon application Android. Le problème que j'ai est que le ArrayAdapter semble attendre jusqu'à ce que tous les éléments soient dedans avant qu'il montre la vue. C'est-à-dire, lorsque j'ajoute les éléments à ArrayAdapter et j'appelle notifyDataSetChanged, il ne met pas à jour le ListView pour montrer l'élément ajouté. Il attend jusqu'à ce que tous les éléments sont ajoutés et GetView est appelé avant d'afficher les éléments.Android - Ajouter et afficher des éléments à ListView un à la fois en utilisant un ArrayAdapter
Ce que je voudrais faire est de montrer l'article immédiatement après l'avoir ajouté à ListView. Est-ce possible?
je crois que le code correspondant est le suivant:
r_adapter = new ReminderAdapater(Activity_ContentSearch.this, R.layout.search_listitem, myList);
listView.setAdapter(r_adapter);
...
r_adapter.notifyDataSetChanged();
r_adapter.clear();
for(int i = 0; i < myList.size(); i++)
{
r_adapter.add(myList.get(i));
r_adapter.notifyDataSetChanged();
}
Comme vous pouvez le voir, même si je fais appel notifyDataSetChanged après la méthode d'ajout, il ne met pas à jour en fait le point de vue. Après avoir terminé la boucle ci-dessus, la vue est finalement mise à jour (d'après ce que je sais, c'est parce que GetView n'est pas appelé avant que cette section du code soit terminée).
J'ai essayé de surcharger la méthode add de mon ArrayAdapter personnalisé sans succès, car je n'ai pas accès à la vue dans cette méthode.
Toute aide serait la bienvenue :)
Bara