#python #kivy #kivymd
Вопрос:
Я получаю данные обратно из конечной точки API, которую я использую для заполнения виджета ThreeLineListItem. Проблема в том, что я все еще не мог найти способ передать person['id']
, как в примере ниже:
[...] data = response.json() #response from an API request if response.status_code == 200: for person in data: print(person['id']) self.ids.person_mdlist.add_widget( ThreeLineListItem( text=str(person['name']), secondary_text=str(person['document']), tertiary_text=str(person['descript']), on_release=lambda x: self.test(x), ),)
Мой план состоит в том, чтобы захватить выбранный идентификатор пользователя для будущих вызовов API. Есть ли простой способ сделать это?
Ответ №1:
Я сделал это! Поскольку у ThreeLineListItem нет никакого свойства «id», мне пришлось создать пользовательский виджет на его основе:
class CustomThreeLineListItem(ThreeLineListItem): list_id = NumericProperty(0)
Затем:
[...] data = response.json() #response from an API request if response.status_code == 200: for person in data: print(person['id']) self.ids.person_mdlist.add_widget( CustomThreeLineListItem( list_id=person['id'], text=str(person['name']), secondary_text=str(person['document']), tertiary_text=str(person['descript']), on_release=lambda x: self.test(x), ),)
Надеюсь, это поможет кому-то в будущем.