Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dan19
Binge Watcher

Is there a way to know what node had the last focus?

I don't know if this is possible, but is there a way to know what node had the last focus?

for example, if I have a poster, a rectangle, etc, and I open a dialog, but would want to setfocus to the last item that had focus before the dialog was opened. How do I go about it?

 

Thanks.

0 Kudos
3 REPLIES 3
RokuJonathanD
Community Moderator
Community Moderator

Re: Is there a way to know what node had the last focus?

Hi @dan19

The roSGnode.ifSGNodeFocus interface does not support checking which node last had focus. The channel code should keep track of the item from which the dialog was opened. For example, if the poster or rectangle was in array, you would have the index of the last selected item.

sanity-check
Roku Guru

Re: Is there a way to know what node had the last focus?

You can observe 'focusedChild' on any Node, that might help.

(Looking at my own code I have a lot of spaghetti around focus management so I don't recall exactly what the default behaviours are but if you're on the Roku UI happy path hopefully you won't need to lose too much hair.)

dan19
Binge Watcher

Re: Is there a way to know what node had the last focus?

Thanks for taking the time to answer me. I have a dialog that is shown when the options key is pressed, and when the back key is pressed, the dialog closes. So I am trying to set focus to the last Item/node that was in focus before the options key was pressed. If there is no inbuilt method for this, what will be the best logic to tackle this?

Thanks.


@RokuJonathanD wrote:

Hi @dan19

The roSGnode.ifSGNodeFocus interface does not support checking which node last had focus. The channel code should keep track of the item from which the dialog was opened. For example, if the poster or rectangle was in array, you would have the index of the last selected item.


 

0 Kudos