[KIVY] Recycle View Anomalie?!
Verfasst: Sonntag 7. Februar 2021, 23:26
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
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