Seite 1 von 1

[KIVY] Recycle View Anomalie?!

Verfasst: Sonntag 7. Februar 2021, 23:26
von D-Fragment
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

Re: [KIVY] Recycle View Anomalie?!

Verfasst: Montag 8. Februar 2021, 08:21
von __deets__
Ohne Code kann man dazu nicht wirklich etwas sagen.

Re: [KIVY] Recycle View Anomalie?!

Verfasst: Mittwoch 10. Februar 2021, 14:22
von D-Fragment
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.