Supprimer des éléments ListView dans Android
Quelqu'un peut-il me donner un exemple de code de la suppression de tous les éléments ListView et en la remplaçant par de nouveaux éléments?
J'ai essayé de remplacer la carte des éléments sans succès. Mon code est
populateList(){
results //populated arraylist with strings
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, results);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
listview.setOnItemClickListener(this);
}
//now populating list again
repopulateList(){
results1 //populated arraylist with strings
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, results1);
listview.setAdapter(adapter1);
adapter1.notifyDataSetChanged();
listview.setOnItemClickListener(this);
}
Ici repopulateList()
méthode va ajouter à la liste des éléments, mais il n'est pas supprimer/remplacer tous les éléments ListView.
Vous devez vous connecter pour publier un commentaire.
Vous voulez
remove()
l'élément à partir de l'objet de la carte et ensuite il suffit de lancer lanotifyDatasetChanged()
sur la Carte, toutListView
s va (devrait) de recyclage et de mise à jour sur son propre.Voici une brève activité exemple avec
AlertDialog
s:Je pense que si u ajouter le code suivant, il va travailler
Pour supprimer un élément, il suffit de retirer cet élément de la liste de tableaux que nous avons passé à l'adaptateur et ne
listview.invalidateViews();
Cela mettra à jour la liste
Vous pouvez utiliser
qui va supprimer tous les éléments de votre première carte puis vous pouvez définir un autre adaptateur ou la réutilisation de la carte et ajouter les éléments de l'ancienne carte. Si vous utilisez
pour ajouter des données à votre liste, vous n'avez pas besoin d'appeler notifyDataSetChanged
alors appel
notifyDataSetChanged();
adapter.remove(adapter.getItem(0));
?adapter.remove(adapter.getItem(0));
cela ne fera que supprimer le premier élément, mais si vous voulez supprimer tous les de puis aller pour ce que j'ai posté..De la retirer de l'adaptateur et d'en informer les arrayadapter cet ensemble de données a changé.
ce code fonctionne très bien pour moi.
voici un exemple:
Essayer ce code, cela fonctionne pour moi.
Au premier abord, vous devez supprimer l'élément de votre liste. Plus tard, vous pouvez vider votre adaptateur et de le remplir à nouveau avec une nouvelle liste.
C'est simple .D'abord, vous devez effacer votre collection et après une liste claire comme ce code :
Vous pouvez également utiliser la liste.setOnItemLongClickListener pour supprimer l'élément sélectionné.
Ci-dessous est le code.
//listView = nom de votre ListView