0
votes

RecyclerVoir les données modifiées sur le défilement (pas dupliquer) et la TextView dynamique a été doublée sur le défilement

Mes données RecyclERView ont changé pendant que je fais défiler vers le bas / vers le bas. Quand je fais défiler la mise en page, il apparaît à chaque fois avec de nouvelles valeurs J'ai ajouté les deux méthodes et aussi bien et faux recyclable aussi. Mais, n'a pas fonctionné.

Voici comment mon adaptateur ressemble à. xxx


5 commentaires

S'il vous plaît montrer votre fichier adaptateur


Quel est le problème que vous avez? "Recyclerview Data a changé" n'est pas une description utile.


Où mettez-vous à jour votre KCLIST


Supprimer cette ligne @override Public int gettemviewTtype (Position int) {position de retour; }


@silentsudo l'a essayé mais n'a pas entraîné d'entraînement


3 Réponses :


1
votes

Vous n'avez pas plus d'un type de vues dans votre recylCerview, donc une chose à coup sûr de ne pas avoir besoin de remplacer getItemViewTtype (Position int) .

Aussi l'utilisation de la méthode getItemid (Position int) est incorrecte. Cette méthode est utilisée pour obtenir l'identifiant stable pour l'article en position.


5 commentaires

Quel est le but de getItemid (INT position) et getItemviewTtype (INT position) dans votre cas?


Stackoverflow.com/a/43179233/12804233 J'ai suivi cette solution pour mon problème


Je me sens, l'utilisation de titulaire.setisrecyclable (false); est inutile et racine de votre problème. S'il vous plaît supprimer les trois


J'ai supprimé les deux méthodes et recyclable false, toujours, mon problème persiste.


La méthode était déjà là -> Non, vous avez écrit son code, possédez votre code.



0
votes

Le code de l'adaptateur que vous avez partagé ne suffit pas pour identifier le problème. Je partage donc un très simple recyclerview et son code d'adaptateur, essayez simplement d'utiliser cela. J'espère que cela vous aidera.

codage heureux ... xxx

code de classe adaptateur xxx

Activity_main. xml xxx

adapter_layout.xml xxx


0 commentaires

0
votes

Ajoutez cette méthode de remplacement à votre adaptateur personnalisé

 @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getItemViewType(int position) {
        return position;
    }


4 commentaires

Ne m'a pas aidé @ ak23


d'abord supprimer le support.SetisRecyclable (false); Ajoutez ensuite la méthode ci-dessus


Thanx @ AK23 Maintenant, la valeur ne change pas, mais j'ai ajouté TextView (dynamiquement) dans cet adaptateur et qu'il génère plusieurs fois au fur et à mesure que je fais défiler.


Veuillez mettre à jour votre classe d'adaptateur Je ne vois aucune déclaration TextView ou génération de manière dynamique.