选中kivy RecycleView中的复选框,单击一个复选框会影响其他复选框

选中kivy RecycleView中的复选框,单击一个复选框会影响其他复选框,kivy,Kivy,我尝试在RecycleView的每一行中放置一组两个复选框。但如果我单击一个复选框,其他一些复选框将受到影响。 如下图所示: 第25排、第37排也是如此。。。 下面是代码 main.py: from kivy.app import App from kivy.uix.boxlayout import BoxLayout class Root(BoxLayout): def __init__(self, **kwargs): super(Root, self).__i

我尝试在RecycleView的每一行中放置一组两个复选框。但如果我单击一个复选框,其他一些复选框将受到影响。 如下图所示:

第25排、第37排也是如此。。。 下面是代码

main.py:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

class Root(BoxLayout):
    def __init__(self, **kwargs):
        super(Root, self).__init__(**kwargs)
        self.rv.data = [{'value': str(x)} for x in range(100)]

class MyApp(App):
    def build(self):
        return Root()

if __name__ == '__main__':
    MyApp().run()
my.kv:

<Row@BoxLayout>:
    canvas.before:
        Color:
            rgba: 0.5, 0.5, 0.5, 1
        Rectangle:
            size: self.size
            pos: self.pos
    value: ''

    orientation: 'horizontal'
    Label:
        text: root.value
        size_hint:0.45, 1
    CheckBox:
        group: root.value
        size_hint:0.05, 1
        state: 'down'
    CheckBox:
        group: root.value
        size_hint:0.05, 1
<Root>:
    rv: rv
    RecycleView:
        id: rv
        viewclass: 'Row'
        RecycleBoxLayout:
            default_size: None, dp(56)
            default_size_hint: 1, None
            size_hint_y: None
            height: self.minimum_height
            orientation: 'vertical'
:
在以下情况之前:
颜色:
rgba:0.5,0.5,0.5,1
矩形:
大小:self.size
pos:self.pos
值:“”
方向:“水平”
标签:
文本:root.value
尺寸提示:0.45,1
复选框:
组:root.value
尺寸提示:0.05,1
声明:“关闭”
复选框:
组:root.value
尺寸提示:0.05,1
:
房车:房车
回收审查:
id:rv
viewclass:“行”
循环利用布局:
默认大小:无,dp(56)
默认大小提示:1,无
尺寸提示:无
高度:自身最小高度
方向:“垂直”
这是非常简单的代码,但我不知道为什么。 你能帮忙吗

基维是1.10.0 根本原因是ViewClass被循环使用。 我们可以从RecycleDataViewBehavior派生viewclass(必须阅读代码)。
实现刷新\u视图\u属性。可能会将复选框的状态添加到recycleview的数据中。可以参考recycleview/init.py中SelectableLabel的示例。

似乎每个页面上的同一行都受到了影响。这是由于viewclass的回收。但是我还没有找到一个优雅的方法来处理它。你能解决这个问题吗?我一直在研究一个类似的问题。