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: 
WSJTim
Binge Watcher

Initializing children of a custom component

Jump to solution

I'm writing a custom component that extends LayoutGroup and I'd like to set up event observers on children. When my init() sub gets called, m.top has no children yet so I can't access any yet. In later methods (like "onKeyEvent") I can see the children there but obviously I don't want to set everything up multiple times.

Any help would be appreciated!

tim

0 Kudos
1 Solution

Accepted Solutions
WSJTim
Binge Watcher

Re: Initializing children of a custom component

Jump to solution

Ok, I got this working. If anyone else is curious, it looks like the correct solution is to observe the "change" property...

https://developer.roku.com/docs/references/scenegraph/abstract-nodes/node.md

I get an "add" operation when each child is added. Cool!

View solution in original post

0 Kudos
2 REPLIES 2
WSJTim
Binge Watcher

Re: Initializing children of a custom component

Jump to solution

Ok, this might not have been clear. These are children not specified by my component directly. Once again, similar to a LayoutGroup. For example:

<MyComponent>
    <Button .../>
    <Label .../>
    <Button .../>
</MyComponent>
0 Kudos
WSJTim
Binge Watcher

Re: Initializing children of a custom component

Jump to solution

Ok, I got this working. If anyone else is curious, it looks like the correct solution is to observe the "change" property...

https://developer.roku.com/docs/references/scenegraph/abstract-nodes/node.md

I get an "add" operation when each child is added. Cool!

0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.