Je suis un débutant ici et iam développant une application notes. J'ai remarqué que mes notes dans RECYCLERVIEW obtiennent des positions dupliquées et mélangeuses lors du défilement. J'ai dépensé des chants changeant et modifier le code mais sans chance. J'espère que vous passez par le code .Thakyou pour votre temps.
** Le code de l'adaptateur correspondant est ** p> Voici comment j'ai implémenté ma méthode OnClick dans l'activité principale forte> p> } ` p> Je fournirai un code supplémentaire si nécessaire. p> p>
3 Réponses :
Après avoir retiré l'élément de la DB, vous devez soit: P>
Rechargez toute la liste et réinitialisez l'adaptateur (changer la liste
et Supprimez l'élément de la liste forte> de l'adaptateur STRAND>, puis appelle faire à la fois confond l'adaptateur, car il pense que vous supprimez des éléments de la liste que vous venez de définir (qui ne contient pas l'élément supprimé) P> notifierdatasetchanged () code> dans
setdata () code>). p> li>
notifierItemremoved () code> p> l>
ul>
J'ai fait comme vous l'avez mentionné dans votre premier point, car il n'a pas fonctionné, j'ai utilisé la méthode de notificationMremrotemrope @BWT
I.e. Sans avoir utilisé le code dans cliqué sur code> ou
itemRemovedNotifier code>?
Il semble qu'il y ait une clause code> code>, faites-vous une exception et une corrélation de mélange?
J'ai supprimé la méthode notifydatasetchangeed () .even désormais que cela ne fonctionne pas et les données de l'adaptateur ne sont pas reflétées dans l'interface utilisateur, sauf si je redémarre l'application.
J'ai donc trouvé la réponse enfin, la solution pour arrêter la vue de recyclage des données de duplication consiste à supprimer les vues de votre présentation avant de définir les données sur l'adaptateur à chaque fois. Ce qui a travaillé pour moi.
Exemple: et n'oubliez jamais d'appeler notifierdatastetched an code> après avoir récupéré des données à l'adaptateur.
J'espère que cela aide les autres aussi. P> p>
Pour arrêter la duplication de vos articles RecyclerVoir, assurez-vous d'effacer votre modèle de liste, puis de récupérer votre modèle de liste:
List<myModel> myData = new ArrayList<>(); myData.clear();
Êtes-vous dupliquer les données avec cette ligne adapter.setdata (db.dao (). LoadallTasks ()); ? Et si vous appelez Adapter.clear () avant de définir des données?
J'utilise la méthode ci-dessus que vous avez mentionnée pour définir définir l'adaptateur pour les données de rafraîchissement après avoir supprimé les tâches. Je ne suis pas sûr de quoi causer les duplications. Même si je ne supprimais aucune tâche, les données sont toujours dupliquées sur le défilement. @ Jab