2011-03-21 3 views
1

J'ai vecteur d'éléments que je mis en BaseAdapter sous-classe et cet adaptateur fonctionne avec ces élémentsadaptateur de base Rafraîchissant avec vecteur d'éléments (Android)

je dois rafraîchir ma liste, donc je mets nouveau vecteur à mon adaptateur classer et appeler la méthode adapter.notifyDataSetChanged(); mais cela ne fonctionne pas.

comment puis-je corriger

UPDT:

Voici le code de ma méthode rafraîchissante

public void updateGroups(Page page) { 
     this.page = page; 
     listView = (ListView)findViewById(R.id.groups_list); 
     SelectGroupsListAdapter adapter =(SelectGroupsListAdapter)listView.getAdapter(); 
     adapter.setGroups(page.getItems()); 
     listView.invalidate(); 
     adapter.notifyDataSetChanged(); 



    } 
+0

ce doesn Ne travaillez pas? quelle erreur obtenez-vous? où est ton code? – Cristian

+0

Je n'ai pas d'erreur, mon ListView ne rafraîchit pas – earsonheart

+0

coller le code. – Cristian

Répondre

0

Je suppose que adapter.setGroups (page.getItems()); ajoutez les objets à l'adaptateur, et vous êtes dans un ListActivity, donc, avez-vous essayé ceci:

((SelectGroupsListAdapter) getListAdapter()). notifyDataSetChanged();

ou

((SelectGroupsListAdapter) listAdapter) .notifyDataSetChanged();

si votre setgroups (page.getItems()) a établi un nouveau vecteur assurez-vous d'ajouter explicitement chaque élément de vecteur:

l'adaptateur méthode intérieure: setgroups (...)

public void setGroups(List<?> newData){ 
    for(Object o : newData){ 
    add(o); 
    } 
} 
+0

adapter.setGroups (page.getItems()); Définit un nouveau vecteur comme source de données des adaptateurs. – earsonheart

+0

je modifie ma réponse, essayez ça – Franco