In a Kivy form i set 2 Recycleviews(A and B). I would add the item clicked in Recycleview A, to the RecycleView B, using a Python3 script:
from functools import partial
from kivy.app import App
from kivy.lang.builder import Builder
from kivy.uix.recycleview import RecycleView
class B(RecycleView):
def __init__(self,**kwargs):
super(B, self).__init__(**kwargs)
def doet(self,x):
self.data.append({'text':x})
print(self.data) #it prints correctly, so why doesn't update?
class A(RecycleView):
def __init__(self,**kwargs):
super(A, self).__init__(**kwargs)
self.data=[{'text':'FROM HERE','on_press':partial(app.b.doet,'TO HERE')}]
class app(App):
b=B()
def build(self):
return Builder.load_file('lab.kv')
app().run()
'lab.kv':
BoxLayout:
A:
viewclass:'Button'
RecycleBoxLayout:
default_size: None, dp(56)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
B:
viewclass:'Button'
RecycleBoxLayout:
default_size: None, dp(56)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
My script correctly updates the Data's Dictionary, as I can see by printing it, but in RecycleView 'B' no items are phisically added.