How to expose fields obtained inside screen to main thread for a SignIn component
Hi, I'm trying to create a SignIn component, but once I get username and password from the user in my component I can't "export" them back to the main thread. This is what I'm trying right now:
<component name = "SignInScene" extends = "Scene" > <script type = "text/brightscript" > <![CDATA[ sub init() m.communicator = m.top.findNode("communicator") m.communicator.addField("password", "roString", true) ... end sub
sub onPasswordKeyboardBtnSelected(roEvent) if roEvent.getData() = 0 then if m.password <> "" and m.password <> invalid then m.communicator.setField("password", m.password) ... end if end if end sub
while (true) msg = wait(0, m.port) msgType = type(msg) LogToConsole(msgType)
if msgType = "roSGScreenEvent" if msg.isScreenClosed() then return end if end while
When I set field "password" and I try a `getField` after that I get `invalid`, also nothing is caught in the main thread. Basically what I want is a way to pass login data out of the component. Is this the better approach? What am I doing wrong?
Thank you so much!!, that worked like a charm, you are the man!. For some reason I had a hard time finding an answer for this, which seems an obvious workflow, Roku samples from the guide are incomplete they show you how to create a keyboard component or a pin dialog but they don't mention how to interact with it, docs are lacking on that area.