我试图创建一个通用的RecycleView,并从中继承viewclass,如下所示:
<GenericList@RecycleView>:
SelectableRecycleBoxLayout:
canvas.before:
Color:
rgba: (.0, 0.9, .5, .8)
Rectangle:
pos: self.pos
size: self.size
default_size: None, 30
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
multiselect: False
<SetList@GenericList>:
viewclass: 'SetSelectableLabel'
<CardList@GenericList>:
viewclass: 'CardSelectableLabel'
SetSelectableLabel和CardSelectableLabel之间的区别在于所选事件调用的方法。 我注意到,当使用此配置运行应用程序时,RecycleView不会显示任何viewclass对象。列表就在那里,我可以滚动它并看到滚动条在移动,但是没有显示任何标签
但是,如果我像下面那样在RecycleView中定义viewclass,那么一切都可以正常工作,除了我不能做我想做的事情,即更改继承类上的viewclass以实现自定义行为
<GenericList@RecycleView>:
viewclass: 'GenericSelectableLabel'
我是不是遗漏了什么
RecycleView
是一个不完整的小部件。有很多事情你做不到。例如:上面的代码不起作用。您必须从kv构建一个小部件树,如下所示:
viewclass
就是其中之一。您无法动态更改它,因此下面的代码:不起作用。我不确定这是问题的原因,但你只需要意识到这种不完整性
相关问题 更多 >
编程相关推荐