不同列表项的相同对话框
Same Dialog Box for Different ListItems
for item in item_list: //Item is a String
self.ids.container.add_widget(OneLineListItem(text=item,on_release=lambda e:self.open_msg(item)))
def open_msg(self,msg):
self.dial = MDDialog(text=msg,buttons=[MDFlatButton(text="DISCARD")])
self.dial.open()
如果我应该单击一个项目,我应该在对话框中看到它,但即使我单击任何列表项目我也得到最后一个元素的值。
我点击了 A 但收到了 E。
将您的 lambda 更改为:
lambda e:self.open_msg(item)
至:
lambda e, t=item:self.open_msg(t)
for item in item_list: //Item is a String
self.ids.container.add_widget(OneLineListItem(text=item,on_release=lambda e:self.open_msg(item)))
def open_msg(self,msg):
self.dial = MDDialog(text=msg,buttons=[MDFlatButton(text="DISCARD")])
self.dial.open()
如果我应该单击一个项目,我应该在对话框中看到它,但即使我单击任何列表项目我也得到最后一个元素的值。
我点击了 A 但收到了 E。
将您的 lambda 更改为:
lambda e:self.open_msg(item)
至:
lambda e, t=item:self.open_msg(t)