Как получить ссылку на MDScreen , который создается во время нажатия кнопки

хочу сделать словарь. Данные словаря хранятся в json файле. Чтобы не создавать кучу экранов, хочу сделать так ,чтобы экран создавался при нажатии на элемент списка с именем текста этого элемента, а по этому имени я мог обратиться к json файлу. Проблема в том, что при инициализации списка учебных модулей я не могу получить названия экрана на котором этот список должен находиться, потому что он еще не создан.

class FolderList(MDList):
    def __init__(self, folders=[], **kwargs):
        super().__init__(**kwargs)
        self.folders = get_list_value('folders.json')
        for folder in list(self.folders):
            item = ItemDrawer(icon='folder', text=folder, screen_name = folder)
            item.bind(on_release= self.to_eximine)
            self.add_widget(item)
    def to_eximine(self, instance):
        sm = self.parent.parent.parent.parent
        try:
            eximine_screen = sm.get_screen(instance.screen_name)
        except:
            eximine_screen = Eximine(name=instance.screen_name)
            sm.add_widget(eximine_screen)
        sm.current = instance.screen_name

В этом классе при нажатии на элемент списка создается экран с именем элемента

class Eximine(MDScreen):
    def __init__(self,  **kwargs):
        super().__init__(**kwargs)
class EximineList(MDList):
    def __init__(self, modules=[], **kwargs):
        super().__init__(**kwargs)
        #self.name = self.parent.parent.parent.parent



        self.modules = get_list_value('folders.json')

        for module in self.modules:

            item = ItemDrawer(icon="school", text=module, screen_name=module)
            item.bind(on_release= self.v_parent )
            self.add_widget(item)
    def v_parent(self,instance):
        print(self.parent.parent.parent.parent)

Файл .kv : id: eximine_list ScreenManager:

        MDScreen:

            MDBoxLayout:
                size_hint_x: 0.5
                pos_hint: {'center_x':0.5,}
                ScrollView:

                    EximineList:
                        id: eximine
                        spacing: root.height / 10

Как инициализировать class EximineList во время его создания?


Ответы (0 шт):