想要在使用on_touch_down方法单击时访问小部件此处为OneLineListItem的文本和ID

问题描述

目标:

仅在按下my_callback()小部件时调用OneLineListItem函数,否则不执行任何操作。

解释这些事情:

-请解释当使用{_1}}中的任何一个时,如何使用on_touch_down()函数调用函数my_callback()

-还解释了为什么我们在OneLineListItem块中添加super(Touch,self).on_touch_down(touch)

当前代码存在的问题:

-不要给出任何错误,但是代码无法按我的意愿工作。

-else方法不起作用(想要了解它的工作原理,我只是从kivy文档中复制了它)。

on_touch_down()

解决方法

您可以通过实例访问小部件的文本和ID:

  def mycallback(self,instance):
            m=instance.id 
            x=instnace.text

它确定该行,您可以对其进行处理。添加ID时必须将其添加到窗口小部件。我没有使用on_touch_down尝试过它,但是我使用了on_press并成功了。

您可以在添加add_widget时调用my_callback函数,如下所示:

self.ids.scroll.add_widget(OneLineListItem(text='as you want',id=str(i),halign="right",on_press=self.mycallback))