I've extended my example below. I hope this helps. It passes a value into the calculate screen.
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
from kivy.properties import NumericProperty
kv ="""
<SetValueScreen@Screen>:
AnchorLayout:
BoxLayout:
size_hint: None, None
size: '200dp', '48dp'
TextInput:
id: ti
input_filter: 'int'
padding: dp(14)
Button:
text: 'set value'
on_release:
root.manager.get_screen('calculation screen').set_value(ti.text)
ti.text = ''
root.manager.current = root.manager.next()
<CalculationScreen>:
BoxLayout:
orientation: 'vertical'
AnchorLayout:
BoxLayout:
orientation: 'vertical'
size_hint: None, None
size: dp(200), dp(48 * 2)
Label:
text: str(root.value)
Button:
text: 'Calculate'
on_release: root.calc()
BoxLayout:
orientation: 'vertical'
Label:
text: 'Simple Example'
size_hint_y: None
height: '50dp'
ScreenManager:
id: sm
SetValueScreen:
name: 'set screen'
CalculationScreen:
name: 'calculation screen'
Button:
text: 'Next Screen'
size_hint_y: None
height: '48dp'
on_release: sm.current = sm.next()
"""
class CalculationScreen(Screen):
value = NumericProperty(0)
def calc(self):
self.value+=1
def set_value(self, value):
self.value = int(value)
class ShowDataApp(App):
def build(self):
return Builder.load_string(kv)
ShowDataApp().run()