[KIVY] Recycle View Anomalie?!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
D-Fragment
User
Beiträge: 6
Registriert: Sonntag 7. Februar 2021, 23:01

hallo,
ich bin neu in eurem forum .... also erstmal hallo ! ich programmiere seit geraumer zeit in python/kivy eine app und musste mich in den vergangenen tagen mit dem recycle-view modul "herumärgern", da meine app bei der grossen menge an list-items in die knie ging.

ich musste zunächst erkennen dass das recycle modul nur die ersten 10 widget wirklich 'rendert' die anderen werden als - in meinen worten - visuelle "instanzen" generiert um die performance zu verbessern. korrigiert mich bitte wenn ich müll rede... aber so erkläre ich mir die geschichte.

mein recycleview -viewclass ist etwas unkonventionell aufgebaut, da ich nicht wusste wie ich die selectable-behaviour einbauen sollte. deshalb habe ich eine checkbox in diesem item verbaut. deren status konnte ich nicht von aussen über das "data" dictionary abfragen da diese nicht an das attribut gebunden werden kann .

meine lösung war also: beim click auf die item-checkbox wird das recycleview -data-dictionary nach dem namen meines items durchsucht und dann der "selected"-key auf 1 gesetzt. somit sind beide wieder synchron.

das problem was ich jetzt habe ist: wenn ich eine checkbox checke , werden weitere chechboxen angehakt obwohl im data-dictionary nur dieses eine item ein "selected :1 besitzt.
es sieht so aus also ob bestimmte visuelle "instanzen" meines gerenderten widgets synchron mitgecheckt werden ohne wirklich den status zu ändern.

hat irgendjemand eine idee, oder eine erklärung dazu?

würde mich über eine antwort freuen
danke euch
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ohne Code kann man dazu nicht wirklich etwas sagen.
D-Fragment
User
Beiträge: 6
Registriert: Sonntag 7. Februar 2021, 23:01

hey, sorry - nächstes mal werde ich den code pasten... in diesem fall wären das ne menge zeilen gewesen.
habe mittlerweile die lösung gefunden... auch wenn es die zufällige selektierung nicht erklärt.
die expression auf dem select-attribut war fehlerhaft.
Antworten