roku - 未加载图像,当我更新 PosterGrid 中的内容时
问题描述
我在 MainScene 中使用了自定义 SGDex 视图,并使用下面的代码,我在 PostGrid 中打开了对话框。它与组节点一起扩展。
sub init()
m.postergrid = m.top.findNode("PosterGrid")
m.top.GlobleURL = GetAuthData("URL")
m.readPosterGridTask = createObject("roSGNode", "ContentReader")
m.readPosterGridTask.contenturi = "http://" + m.top.GlobleURL + "/api/DefaultAPI/?file=GoForwards.xml"
m.readPosterGridTask.observeField("content", "showpostergrid")
m.readPosterGridTask.control = "RUN"
end sub
function OpenDialog()
m.dlg = createObject("roSGNode", "Dialog")
m.port = createObject("roMessagePort")
m.dlg.observeField("wasClosed", m.port)
m.dlg.title = "Menu"
m.dlg.buttons = ["ReverseOrder"]
m.dlg.observeField("buttonSelected", "onVerifyOptions")
m.dlg.getScene().dialog = m.dlg
end function
function onVerifyOptions()
if m.dlg.getScene().dialog.buttonSelected = 0 then
?"onVerifyOption() :: 0 index"
m.readPosterGridTask.contenturi = "http://" + m.top.GlobleURL + "/api/DefaultAPI/file=ReverseOrder.xml"
m.readPosterGridTask.observeField("content", "showpostergrid")
m.readPosterGridTask.control = "RUN"
m.dlg.getScene().dialog.close = true
end if
return true
end function
sub showpostergrid()
m.postergrid.content = m.readPosterGridTask.content
end sub
在对话框内单击到 0 个索引。我像上面的代码一样更新内容。但是,这里的图片没有加载。之后,我刷新 Content Render。但是,当 Roku 机顶盒进入睡眠模式时。单击确定后,它开始加载。我不知道为什么会这样。同样的事情,我检查了一个场景节点。它工作正常。但是,在组节点内,我发现了这个问题。有人知道这个问题吗?
起初,我认为这将是操作系统的问题。我为此创建了另一个演示应用程序。它运作良好。但是这里对话框打开如下。
sub showdialog()
optiondialog = CreateObject("roSGNode", "Dialog")
optiondialog.title = "Menu"
optiondialog.buttons = ["ReverseOrder"]
m.top.dialog = optiondialog
m.top.dialog.observeField("buttonSelected", "onVerifyOptions")
m.top.dialog.setFocus(true)
end sub
我不清楚这是 getScene() 的问题,还是我在更新内容时犯了错误。有没有其他方法可以更新 RSG 组件内容?
解决方案
我认为不是
m.dlg.getScene().dialog = m.dlg
你应该使用:
m.top.dialog = m.errorDialog
同样,替换
m.dlg.getScene().dialog.close = true
与
m.top.dialog.close = true
你可能需要在同一点重新设置你的焦点。
推荐阅读
- java - 如何使用一个类作为第二个类的参数
- php - Wordpress 子主题和文件夹中的文件
- postgresql - posgresql 在定义函数时在每个查询结果周围加上括号
- flutter - 升级颤振后的AlertDialog错误
- javascript - 如何将高阶组件传递给 React Navigation?
- python - Python计算置信区间
- javascript - 重新加载子组件 Angular
- c++ - 在 C++ 类定义中定义枚举:'MyEnum' 尚未声明
- php - 如何在没有默认样板的情况下创建 Laravel 8 项目?
- c - How web browser access content(html) from http server?