title: Kivy drag and drop from ListView
body: <p>I'm attempting to set up a ListView so that </p>
  
  <p>1) When selection is made, that selection is deleted from the ListView</p>
  
  <p>2) A Scatter is created holding a label with the text of the selection</p>
  
  <p>3) Using the same click, the Scatter is dragged across the screen</p>
  
  <p>4) The Scatter is deleted once the click is released. </p>
  
  <p>I did this in tkinter, and I'm trying to transition this to Kivy. For the most part, this is pretty straightforward, but I've encountered a couple of issues. The first issue I have is getting the selection of the ListView. The <code>on_touch_down</code> event of the ListView gets fired before the <code>on_selection_change</code> event of the ListView's adapter, so if I bind to <code>on_touch_down</code>, I get what the previous selection was, not the current one. The second issue is dragging the Scatter. The goal is for the user, in 1 click, to make a selection from the ListView, have a Scatter appear and drag it across the screen, and then have the Scatter be removed when the click is released. I've tried to use <code>touch.grab()</code> in the following method that was bound to the ListView's <code>on_touch_down</code></p>
  
  <pre><code>def onPress(self, view, touch):
      if view.collide_point(touch.x, touch.y):
          self.floatLayout.add_widget(self.scatter)
          touch.grab(self.scatter)
  </code></pre>
  
  <p>But when I click on the ListView I get a <code>TypeError: cannot create weak reference to 'weakproxy' object</code> error, despite having <code>keyScatter: keyScatter.__self__</code> in my .kv file, and <code>keyScatter</code> is the id for <code>self.scatter</code>.</p>
  
  <p>Is there a good fix for either issue?</p>