title: Kivy - CustomDropdown - ScreenManager - failure
body: <p>I´m trying to add a CustomDropDown to a button, but somehow it seems like the CustomDropDown-widget is initiated twice (dubble list) and when I click on a name I get the following answer:</p>
  <p><strong>Error:</strong></p>
  <pre><code>File &quot;C:\Continuum\anaconda3\lib\site-packages\kivy\lang\builder.py&quot;, line 64, in custom_callback 
  exec(__kvlang__.co_value, idmap)
     File &quot;C:\Temp\privat\zucchini\my.kv&quot;, line 6, in &lt;module&gt;
       app.root.ids.btn.text = '{}'.format(args[1])
     File &quot;kivy\properties.pyx&quot;, line 863, in kivy.properties.ObservableDict.__getattr__
   AttributeError: 'super' object has no attribute '__getattr__'
  </code></pre>
  <p><a href="https://i.stack.imgur.com/WdqcF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WdqcF.png" alt="enter image description here" /></a></p>
  <p>So yes, I fail to see what I´m doing wrong.. And thoughts are welcome! :)</p>
  <p><strong>CODE:</strong></p>
  <pre><code>from kivy.uix.screenmanager import ScreenManager, Screen
  
  from kivy.lang import Builder
  from kivy.properties import ObjectProperty
  
  class WindowManager(ScreenManager):
      pass
  
  class MainWindow(Screen):
      dropdown = ObjectProperty(None)
  
      def __init__(self, **kw):
          super().__init__(**kw)
          self.cols = 1
  
  class SecondWindow(Screen):
      pass
  
  class MyApp(App):
      &quot;&quot;&quot;
      &quot;&quot;&quot;
      def build(self):
          return Builder.load_file(&quot;my.kv&quot;)
  
  if __name__ == &quot;__main__&quot;:
      MyApp().run()
  </code></pre>
  <p>With the kv-file looking like:</p>
  <pre><code>#:import Factory kivy.factory.Factory
  
  &lt;CustomDropDown@DropDown&gt;:
      id: dropdown
      on_select:
          app.root.ids.btn.text = '{}'.format(args[1])
          self.dismiss()
  
      Button:
          id: btn1
          text: 'name1'
          size_hint_y: None
          height: '32dp'
          on_release:
              dropdown.select(btn1.text)
  
      Button:
          id: btn2
          text: 'name2'
          size_hint_y: None
          height: '32dp'
          on_release:
              dropdown.select(btn2.text)
  
      Button:
          id: btn3
          text: 'name3'
          size_hint_y: None
          height: '32dp'
          on_release:
              dropdown.select(btn3.text)
  
  WindowManager:
      MainWindow:
      SecondWindow:
  
  &lt;MainWindow&gt;:
      name: &quot;main&quot;
  
      GridLayout:
          cols: 1
  
          GridLayout:
              cols: 1
          GridLayout:
              cols: 1
  
          GridLayout:
              cols: 2
              Button:
                  id: btn
                  text: 'Set name'
                  on_release: Factory.CustomDropDown().open(self)
              Button:
                  text: &quot;Submit&quot;
                  on_release:
                      app.root.current = &quot;second&quot;
                      root.manager.transition.direction = &quot;right&quot;
  
  &lt;SecondWindow&gt;:
      name: &quot;second&quot;
      Button:
          text: &quot;Go Back&quot;
          on_release:
              app.root.current = &quot;main&quot;
              root.manager.transition.direction = &quot;left&quot;
  </code></pre>