title: Kivy - Kv - ScreenManager - changing the current screen
body: <p>I am trying to do a very simple example in kivy (kv) as follows:</p>
  
  <pre><code>#:import Toolbar kivymd.toolbar.Toolbar
  
  BoxLayout:
      orientation: 'vertical'
      Toolbar:
          id: toolbar
          title: 'My Toolbar'
          md_bg_color: app.theme_cls.primary_color
          background_palette: 'Primary'
          background_hue: '500'
          left_action_items: [['arrow-left', app.root.ids.scr_mngr.current = 'screen1' ]]
          right_action_items: [['arrow-right', app.root.ids.scr_mngr.current = 'screen2' ]]
      ScreenManager:
          id: scr_mngr
          Screen:
              name: 'screen1'
              Toolbar:
                  title: "Screen 1"
          Screen:
              name: 'screen2'
              Toolbar:
                  title: "Screen 2"
  </code></pre>
  
  <p>This will fail because both left_action_items and right_action_items expect a list of pairs: [name_of_icon, expression]. On the other hand, when you deal with buttons, the statement would be legal for instance if we do something like:</p>
  
  <pre><code>on_release:
      app.root.ids.scr_mngr.current = 'screen1'
  </code></pre>
  
  <p>On the other hand, the right approach for left_action_item would be something like:</p>
  
  <pre><code>left_action_items: [['arrow-left', lambda x: app.root.ids.scr_mngr.current = 'screen1' ]]
  </code></pre>
  
  <p>But this is not legal, because you cannot perform such assigment in lambda under python.</p>
  
  <p>What would be right approach for left_action_items to change the screen?</p>