如何在键盘输入时重新呈现内容节点/列表?

How to re-render content node / list upon Keyboard Entry?

我有一个显示两个标签的自定义标记列表。第二个标签,显示我保存在注册表中的值。

单击该项目后,将显示一个键盘对话框,用户可以输入一些信息然后保存。

我已成功将新值保存到注册表,但是我想将新值显示到内容节点。如何重新呈现内容节点或访问标签?

您可以使用 XML 标记中的字段接口访问标签。一种更有效的方法是实际更改被馈送到 MarkupList 中的内容节点。基于 Roku SDK 上 MarkupList 的数据绑定:https://sdkdocs.roku.com/display/sdkdoc/MarkupList,看起来您需要为每个项目都有一个父内容节点和一个子内容节点。因此,我将通过为它分配一个 id 然后使用 m.top.findNode() 来访问 .brs 文件中的这个 ContentNode。然后,您应该使用标签的适当信息创建一个内容节点,并使用 getChild()/appendChild() 方法节点来访问和改变 ContentNode 本身。最后,您应该有一个 observeField() 方法来查看标记位置的内容字段中的变化,然后用更新的文本重新呈现 MarkupList。

这是一个用于导航内容节点树和在 .brs 文件中添加子项的资源:https://sdkdocs.roku.com/display/sdkdoc/ifSGNodeChildren#ifSGNodeChildren-getChild(indexasInteger)

希望对您有所帮助!