我知道可以在屏幕中动态生成小部件列表,如下所示:
<ListViewModal>:
ListView:
size_hint: .8, .8
adapter:
sla.ListAdapter(
data=["Item #{0}".format(i) for i in range(100)],
cls=ListItemButton.ListItemButton)
但是,是否可以让每个人都有动态链接(或绑定等)?
我试图在Craigslist上设置一个界面,用户从滚动列表中选择状态,打开该状态城市的屏幕。而不是为每个州制作50个按钮,然后再为每个城市列表增加50个屏幕,我认为从状态列表和状态字典中动态生成这些按钮会更聪明:城市。
我知道我可以在任何给定的Web框架中执行此操作,但在kivy中它是否可行/可能?
编辑:
我试图按照建议实现args_converter,但每当我尝试实现它时如下:
class StatesScreen(Screen):
data = [{'text': str(i), 'is_selected': False} for i in range(100)]
args_converter = lambda row_index, rec: {'text': rec['text'],
'size_hint_y': None,
'height': 25}
list_adapter = ListAdapter(data=data,
args_converter=args_converter,
cls= ListItemButton,
selection_mode='single',
allow_empty_selection=False)
什么也没出现。如果我尝试用kv语言实现它,
<StatesScreen>
ListView:
adapter:
list_adapter
我没有定义list_adapter