Kivy arraste e solte no ListView

Estou tentando configurar um ListView para que

1) Quando a seleção é feita, essa seleção é excluída do ListView

2) Uma Dispersão é criada segurando uma etiqueta com o texto da seleção

3) Usando o mesmo clique, o Scatter é arrastado pela tela

4) O Scatter é excluído quando o clique é liberado.

Eu fiz isso no tkinter e estou tentando fazer a transição para o Kivy. Na maioria das vezes, isso é bastante direto, mas eu encontrei alguns problemas. A primeira questão que tenho é obter a seleção do ListView. oon_touch_down evento do ListView é acionado antes doon_selection_change evento do adaptador do ListView, por isso, se eu ligar aon_touch_down, Recebo o que era a seleção anterior, não a atual. A segunda questão está arrastando o Scatter. O objetivo é que o usuário, em um clique, faça uma seleção no ListView, faça com que um Scatter apareça e arraste-o pela tela e depois remova o Scatter quando o clique for liberado. Eu tentei usartouch.grab() no método a seguir que estava vinculado ao ListViewon_touch_down

def onPress(self, view, touch):
    if view.collide_point(touch.x, touch.y):
        self.floatLayout.add_widget(self.scatter)
        touch.grab(self.scatter)

Mas quando clico no ListView, recebo umaTypeError: cannot create weak reference to 'weakproxy' object erro, apesar de terkeyScatter: keyScatter.__self__ no meu arquivo .kv ekeyScatter é o ID paraself.scatter.

Existe uma boa correção para qualquer problema?

questionAnswers(1)

yourAnswerToTheQuestion