2015-03-25 10 views
5

Sto provando a creare un'interfaccia utente complessa costituita da una schermata di voci di menu (tipo = "6") nella parte superiore e una schermata di immissione testo (tipo = "5") di seguito. Voglio che la schermata della voce del menu vada su un'altra schermata rispetto alla schermata della voce di testo, anche se devo inserire la schermata della voce di testo nell'attributo nextQuestionKey.Movilizer - Voce di menu in un'interfaccia utente complessa La navigazione non funziona correttamente?

Ho provato con una restrizione nella schermata della voce di menu come mostrato nel codice qui sotto, ma il validatore mi dice "Branching non è consentito."

Ho provato a spostare la restrizione alla schermata di immissione del testo. C'è il validatore mi dice che "Una schermata del menu in una schermata complessa che non è alla fine deve fornire una valida, risposta di navigazione in avanti predefinito di 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> 

sarei grato se qualcuno potrebbe aiutarmi a trovare una soluzione a questo problema.

risposta

3

Penso che il modo più semplice per raggiungere questo obiettivo sia modificare la sequenza di schermate in modo che la schermata Elemento di testo rimandi alla schermata Menu. Nell'interfaccia utente complessa è ancora possibile visualizzare il menu in alto se lo si desidera, quindi la sequenza per la navigazione non ha alcun impatto su di essa. Nella schermata del menu si definisce una risposta predefinita per puntare a mettere in discussione chiave 18 ... la risposta cliccabile nei punti schermata del menu alla domanda 17.

Per la funzione di risposta di default vedere: 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> 

Ciò significa che inizialmente l'interfaccia utente complessa visualizzerà un pulsante OK. Se l'utente preme il pulsante OK, il client passa alla domanda 18. Se l'utente prede il pulsante Scansione codice a barre, il client passa alla domanda 17.