如何使用 python kivymd 中的方法在构建器中添加 TwoLineIconListItem?

How do I add TwoLineIconListItem in a builder using a method in python kivymd?


我想在 python 中使用 kivy、kivymd 创建一个 android 应用程序。在
那个应用我想添加一个音乐播放器它会自动找到
所有音乐文件,然后它将所有文件添加为
OneLineIconListItem,当我们点击它时会播放音乐
根据 OneLineIconListItem 文本的标题,我的意思是
作为一个正常的离线 android 音乐播放器,显示所有文件(音乐名称),当我们
点击它会播放我的代码是-:

   from kivy.lang import Builder
import os
from kivymd.app import MDApp

helper_string = """
Screen:
    name: "Music_Player"
    BoxLayout:
        orientation: "vertical"
        MDToolbar:
        title: "Toolbar"
        elevation: 10

        MDLabel:
        text: "Music_Player" 
"""


class MusicApp(MDApp):
    def build(self):
        screen = Builder.load_string(helper_string)
        return screen

    def getting_all_music_files(self):
        for root, dirs, files in os.walk('C:/'):
            for file in files:
                if file.endswith('.mp3'):
                    required_file = file
                    the_location = os.path.abspath(required_file)


如果你想获取文件位置,那么只需打印 the_location 并设置目录,在我的例子中它在 C:/
现在,我想要的是添加一个获取所有位置的 for 循环,然后将其作为列表添加到我的屏幕中: 盒子布局:
但我无法弄清楚如何为此使用 for 循环将位置 OneLineIconListItem 添加到我的应用程序,当我们点击它时它会播放歌曲..
我是编程新手,请帮帮我

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.list import OneLineListItem

KV = '''
ScrollView:

    MDList:
        id: container
'''


class Test(MDApp):
    def build(self):
        return Builder.load_string(KV)

    def on_start(self):
        for i in range(20):
            self.root.ids.container.add_widget(
                OneLineListItem(text=f"Single-line item {i}")
            )

Test().run()