Movilizer - 复杂 UI 中的菜单项导航无法正常工作?
Movilizer - Menu Item in a Complex UI Navigation not working properly?
我正在尝试创建一个复杂的 UI,它由顶部的菜单项屏幕 (type="6") 和下方的文本输入屏幕 (type="5") 组成。我希望菜单项屏幕转到另一个屏幕而不是文本项屏幕,尽管我必须将文本项屏幕放在 nextQuestionKey 属性中。
我在菜单项屏幕中尝试了限制,如下面的代码所示,但验证器告诉我 "Branching is not allowed."
我尝试将限制移至文本输入屏幕。验证器告诉我 "A menu screen in a complex screen which is not at the end must provide a valid, pre-defined forward navigation answer of attributeType=72"
<question key="15" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="15_1" nextQuestionKey="16" clientKey="CK#15">
<text>Scan barcode</text>
</answer>
<restriction nextQuestionKey="17" position="0">
<condition>getAnswerValueByClientKey($answer:"15_1", "CK#15") != ""</condition>
</restriction>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>
<question key="16" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="16_1" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
<text>Enter barcode manually</text>
</answer>
<answer key="16_2" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
<text>Reason</text>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>
如果有人能帮我找到解决这个问题的方法,我将不胜感激。
我认为实现此目的最简单的方法是更改屏幕顺序,使文本项屏幕指向菜单屏幕。在 Complex UI 中,您仍然可以根据需要在顶部显示菜单,因此导航顺序对此没有影响。在菜单屏幕中,您定义默认答案以指向问题键 18 ...菜单屏幕中的可单击答案指向问题 17。
有关默认答案功能,请参阅:
https://devtools.movilizer.com/confluence/display/DOC22/Default+Answer+feature+for+Image+Menu+screens
<question key="15" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="15_1" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
<text>Enter barcode manually</text>
</answer>
<answer key="15_2" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
<text>Reason</text>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>
<question key="16" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="16_1" nextQuestionKey="17" clientKey="CK#17">
<text>Scan barcode</text>
</answer>
<answer key="16_2" nextQuestionKey="18" clientKey="CK#18" attributeType="72">
<text>default answer</text>
<predefinedValue>X</predefinedValue>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>
这意味着最初复合体 UI 将显示一个“确定”按钮。如果用户按下“确定”按钮,客户端将导航至问题 18。如果用户按下“扫描条码”按钮,客户端将导航至问题 17。
我正在尝试创建一个复杂的 UI,它由顶部的菜单项屏幕 (type="6") 和下方的文本输入屏幕 (type="5") 组成。我希望菜单项屏幕转到另一个屏幕而不是文本项屏幕,尽管我必须将文本项屏幕放在 nextQuestionKey 属性中。
我在菜单项屏幕中尝试了限制,如下面的代码所示,但验证器告诉我 "Branching is not allowed."
我尝试将限制移至文本输入屏幕。验证器告诉我 "A menu screen in a complex screen which is not at the end must provide a valid, pre-defined forward navigation answer of attributeType=72"
<question key="15" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="15_1" nextQuestionKey="16" clientKey="CK#15">
<text>Scan barcode</text>
</answer>
<restriction nextQuestionKey="17" position="0">
<condition>getAnswerValueByClientKey($answer:"15_1", "CK#15") != ""</condition>
</restriction>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>
<question key="16" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="16_1" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
<text>Enter barcode manually</text>
</answer>
<answer key="16_2" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
<text>Reason</text>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>
如果有人能帮我找到解决这个问题的方法,我将不胜感激。
我认为实现此目的最简单的方法是更改屏幕顺序,使文本项屏幕指向菜单屏幕。在 Complex UI 中,您仍然可以根据需要在顶部显示菜单,因此导航顺序对此没有影响。在菜单屏幕中,您定义默认答案以指向问题键 18 ...菜单屏幕中的可单击答案指向问题 17。
有关默认答案功能,请参阅: https://devtools.movilizer.com/confluence/display/DOC22/Default+Answer+feature+for+Image+Menu+screens
<question key="15" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="15_1" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
<text>Enter barcode manually</text>
</answer>
<answer key="15_2" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
<text>Reason</text>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>
<question key="16" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
<answer key="16_1" nextQuestionKey="17" clientKey="CK#17">
<text>Scan barcode</text>
</answer>
<answer key="16_2" nextQuestionKey="18" clientKey="CK#18" attributeType="72">
<text>default answer</text>
<predefinedValue>X</predefinedValue>
</answer>
<complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>
这意味着最初复合体 UI 将显示一个“确定”按钮。如果用户按下“确定”按钮,客户端将导航至问题 18。如果用户按下“扫描条码”按钮,客户端将导航至问题 17。