0
votes

Supprimer les éléments de positions spécifiques sur RECYCLERVIEW

J'ai un recyclerview et une liste <> qui contient une position aléatoire

Tout ce que je veux faire, c'est supprimer recyclerview article de position stocké dans la liste.


5 commentaires

Vous pouvez appeler supprimer (objet)


Supprimez l'élément de la source de RecyclERView et rafraîchissez l'adaptateur


J'essaie d'enlever (objet) mais cela nécessite une valeur INT .... Les valeurs que j'ai sont dans une liste qui produit une erreur


Que voulez-vous dire par position ? Est-ce un Index d'un tableau ou d'une coordonnée X Y ?


Il a des valeurs telles que {3, 36, 54} Je souhaite supprimer ces valeurs sur ces positions dans RECYCLERVIEW


3 Réponses :


0
votes

La meilleure approche consiste à supprimer l'objet de l'adaptateur et à appeler notifierdatastetchanged .


1 commentaires

Pour recyclerview vous avez notifierItemRemoved (position) qui est bien meilleur et conserve les animations.



0
votes

de votre activité Vous pouvez faire boucler votre liste de position d'élément que vous souhaitez supprimer

public void deleteItem(int index) {
    Dataset.remove(index);
    notifyItemRemoved(index);
}


2 commentaires

Utilisez Itérateur pendant la boucle et la modification des articles de jeu de données.


Je sais que c'est en retard. Les connexions Internet dans ma ville ont été fermées à cause d'une question politique. Je ne suis pas capable d'écrire DataSet.ReMove (Index). il dit que supprimer n'est pas une méthode



0
votes

Vous pouvez supprimer un seul élément de l'adaptateur RecyclERView avec: xxx pré>

mais vous ne pouvez pas l'utiliser si vous devez supprimer plusieurs éléments de manière séquentielle. Ce qui suit ne fonctionnera pas: p> xxx pré>

Parce que l'index de la liste a été modifié après le premier appel de removeItem () code>. P> Donc, vous devez dépendre d'un identifiant pour vos données. Par exemple, avec la classe d'utilisateurs suivante: p> xxx pré>

Vous pouvez supprimer plusieurs éléments de manière séquentielle en cochant l'ID avec la méthode suivante: p>

private removeItems(List<Integer> ids) {
  for(Integer id: ids) {
    removeItem(id);
  }
}


0 commentaires