我想在从 PosterGrid 选择项目时监听事件,这里是我的 XML 元素 posterGrid
<PosterGrid
id = "videosGrid"
basePosterSize = "[ 312, 188 ]"
caption1NumLines = "1"
numColumns = "3"
numRows = "5"
itemSpacing = "[ 20, 25 ]"
translation = "[ 100, 200]"
/>
当像这样选择 Item 时,我已经实现了一个观察者
m.videosGrid = m.top.findNode("videosGrid")
m.videosGrid.observeField("itemSelected", "playVideo")
当选择特定视频时,这是成功调用的,但我想从主线程监听,这是一个特定的videoScreen线程,我从这段代码中打开这个videoScreen
sub ShowVideoGridScreen()
m.VideosGridScreen = CreateObject("roSGNode", "VideosScreen")
m.VideosGridScreen.ObserveField("selectedPosterIndex", "OnGridScreenItemSelected") observe postergrid field, when item is selected
ShowScreen(m.VideosGridScreen) ' show GridScreen
end sub
sub OnVideoGridScreenItemSelected() ' invoked when GridScreen item is selected
print "------- Video Item Is Selected -----------"
ShowVideoScreen()
end sub
我想在这里监听事件并显示 videoScreen 来播放视频,因为我已经显示了网格屏幕。 这是 ShowVideoScreen() 函数中用于打开 playVideo 线程的代码。 无法理解这一点,如果您对此有所了解,请告诉我,或者我可以在哪里找到这些东西的任何资源。预先感谢。
m.VideosGridScreen = CreateObject("roSGNode", "VideosScreen") m.VideosGridScreen.ObserveField("selectedPosterIndex", "OnGridScreenItemSelected") 观察海报网格字段,当项目被选中时
由于您想观察“selectedPosterIndex”,请在 m.VideosGridScreen xml 中定义此字段。
<xml>
<component name="VideosScreen">
<interface>
<field id="selectedPosterIndex" value="-1" type="integer" />
<PosterGrid
id = "videosGrid"
basePosterSize = "[ 312, 188 ]"
caption1NumLines = "1"
numColumns = "3"
numRows = "5"
itemSpacing = "[ 20, 25 ]"
translation = "[ 100, 200]"
/>
</component>
</xml>
当选择项目时,您可以分配“selectedPosterIndex”字段。