2015-09-18 2 views
0

Je souhaite effacer la liste après avoir effectué la mise à jour avec la date (ajouter ou supprimer). J'utiliser setadapter comme mention ici How to clear the views which are held in the ListView's RecycleBin?setadapter dans expandablelistview différent de setadapter dans listview?

expList = (ExpandableListView) findViewById(R.id.expandableList); 
expListAdapter = new POIExpandableListAdapter(LocationSettingActivity.this); 
expListAdapter = expList.getAdapter(); 

expList.setAdapter (expListAdapter); 

Mais cela inutile, la vue est d'ajouter toutes les données et les données mises à jour (pas de rafraîchissement), est-il un autre entre setadapter à expandablelistview avec setadapter dans listview?

Note: POIExpandableListAdapter est une classe étend BaseExpandableListAdapter

+0

Lire em et pleurez [getAdapter] (http://developer.android.com/reference/android/widget/ExpandableListView.html#getAdapter()) [setAdapter] (http: // développeur .android.com/reference/android/widget/ExpandableListView.html # setAdapter (android.widget.ExpandableListAdapter)). –

Répondre

0

Enfin je l'ai trouvé comment actualiser ma liste (effacer les données antérieures après la mise à jour), dans mon cas je dois recréer le vecteur à nouveau après la mise à jour des données, pas seulement l'adaptateur:

 vector = new Vector<ArrayList<PointOfInterest>>(); 
     type = new Vector<String>(); 
     expList.setGroupIndicator(null); 
     expListAdapter = new POIExpandableListAdapter(LocationSettingActivity.this); 
     expList.setAdapter (expListAdapter); 
0

se débarrasser de expListAdapter = expList.getAdapter();

juste après expList = (ExpandableListView) findViewById(R.id.expandableList);, getAdapter() est de retour prioritaire null expListAdapter = new POIExpandableListAdapter(LocationSettingActivity.this);. La façon dont vous l'avez écrit est égal à appeler expList.setAdapter (null);

0

Il suffit de retirer expListAdapter = expList.getAdapter();

Votre liste n'ont pas encore un adaptateur, afin d'appeler getAdapter() avant setAdapter() retournera un objet null.

Modifier votre code comme ça:

expList = (ExpandableListView) findViewById(R.id.expandableList); 
expListAdapter = new POIExpandableListAdapter(LocationSettingActivity.this); 
expList.setAdapter (expListAdapter); 
+0

mais, ce code ne rafraîchit pas la liste après avoir mis à jour, il suffit d'ajouter la liste précédente et mise à jour? – Redturbo

+0

quelle est la différence entre la mise à jour des données et son actualisation? – Rami

+0

par exemple, j'ai des données: A, B; et j'ajoute des données: C; la liste devrait montrer A, B, C; après la mise à jour, mais ma liste est show: A, B, A, B, C; Je pense, c'est la mauvaise façon de mettre à jour, buat je ne sais pas comment effacer la liste précédente @rami – Redturbo