fyvekatz
Newbie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2021
03:53 PM
Moving focus from a child to a parent
I've been having an issue changing focus from a RowList component to the HomeScene object that the RowList component is indirectly a part of. An abbreviated version of the component hierarchy:
<component name="HomeScene" extends="Scene"... <children> <Rectangle> <Channels Grid />
Where Channels Grid derives from RowList:
<component name="ChannelsGrid" extends="RowList"...
In the init() for my HomeScene, I set the focus to the scene and everything was fine:
m.top.setFocus(true)
I have an onKeyEvent handler in the HomeScene which successfully sets focus to the ChannelsGrid when the down button is pressed:
function onKeyEvent(key as String, press as Boolean) as Boolean handled = false if press then if m.top.hasFocus() if key = "left" OR key = "right" <do_stuff> else if key = "down" m.channelsGrid.setFocus(true) handled = true end if else if m.channelsGrid.hasFocus() if key = "back" m.channelsGrid.setFocus(false) 'Line that solved the problem m.top.setFocus(true) handled = true end if end if end if
return handled
end function
So the code reads:
- Handle "left" and "right" from HomeScene.
- If "down" is pressed, move focus to the ChannelsGrid (RowList)
- If "back" is pressed while focus is on the ChannelsGrid, set focus back to the HomeScene.
This never transferred focus back to the HomeScene. I would even test the focus value in back to back lines:
? m.top.setFocus(true) ? m.top.hasFocus()
And it would print out:
true false
I then manually set focus to false for the HomeScene and it started to work as desired:
m.channelsGrid.setFocus(false) m.top.setFocus(true)
But I read in the docs that you should never do this. I don't want to just take the win and move forward because there's something that I don't understand about how focus works. Some clarification would be greatly appreciated.
2 REPLIES 2
curiousDev
Newbie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-24-2021
01:50 AM
Re: Moving focus from a child to a parent
Hi. Were you able to figure this out ? What OS version was the device ?
RowanG1Bilue
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-20-2022
10:08 PM
Re: Moving focus from a child to a parent
Anyone figured this out yet?