我想从Proteus库生成级联资产。我是android开发的新手,我在@adithya(Proteus的开发人员)的帮助下成功建立了一个动态视图库。
我想要的很简单就是假设有一个带单选按钮值的单选按钮我需要在单选按钮的下面添加更多资源
就像你有孩子一样?如果是,应在下方加载多少个子文本框
像这样
{
"survey":[
{
"value" : "What's your name?",
"type" : "TextView",
"cascade" : "0",
"show" :"true",
"survey" : "",
"id" : "1"
},
{
"value" : "What's your age?",
"type" : "TextView",
"cascade" : "0",
"show" :"true",
"survey" : "",
"id" : "2"
},
{
"value" : "Do you have any children?",
"type" : "SelectionController",
"cascade" : "1",
"show" :"true",
"id" : "3",
"option" : [
{
"value": "YES",
"cascade": "1",
"type": "option",
"show": "false",
"id" : "3.1",
"survey": [
{
"value" : "How many children?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "3.1.1",
"survey" : ""
},
{
"value" : "How many are married",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "3.1.2",
"survey" : ""
}
]
},
{ "value": "No",
"cascade": "0",
"type": "option",
"show": "false",
"id" : "3.2",
"survey": ""
}
]
},
{
"value" : "What's your address?",
"type" : "TextView",
"cascade" : "0",
"show" :"true",
"id" : "4",
"survey" : ""
},
{
"value" : "What is your status?",
"type" : "SelectionController",
"cascade" : "1",
"id" : "5",
"show" :"true",
"option" : [
{
"value" : "Graduate",
"type" : "option",
"cascade" : "1",
"id" : "5.1",
"show" :"false",
"survey" : [
{
"value" : "Which year?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.1.1",
"survey" : ""
},
{
"value" : "Which faculty?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.1.2",
"survey" : ""
}
]
},
{
"value" : "Undergraduate",
"type" : "option",
"cascade" : "1",
"show" :"false",
"id" : "5.2",
"survey" : [
{
"value" : "where are you studying?",
"type" : "SelectionController",
"cascade" : "1",
"show" :"false",
"id" : "5.2.1",
"option" : [
{
"value" : "APIIT",
"type" : "option",
"cascade" : "1",
"show" :"false",
"id" : "5.2.1.1",
"survey": [
{
"value" : "What is your GPA?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.1.1",
"survey" : ""
},
{
"value" : "How was APIIT?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.1.2",
"survey" : ""
}
]
},
{
"value" : "SLIIT",
"type" : "option",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.2",
"survey" : ""
},
{
"value" : "UCSC",
"type" : "option",
"cascade" : "1",
"show" :"false",
"id" : "5.2.1.3",
"survey": [
{
"value" : "How long being in UCSC?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.3.1",
"survey" : ""
},
{
"value" : "How is UCSC?",
"type" : "TextView",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.3.2",
"survey" : ""
}
]
},
{
"value" : "UOM",
"type" : "option",
"cascade" : "0",
"show" :"false",
"id" : "5.2.1.4",
"survey" : ""
}
]
}
]
}
]
},
{"value" : "Are you tired of studying?",
"type" : "SelectionController",
"cascade" : "0",
"show" :"true",
"id" : "6",
"option" : [
{
"value" : "YES",
"type" : "option",
"cascade" : "1",
"show" :"false",
"id" : "6.1",
"survey": ""
},
{
"value" : "NO",
"type" : "option",
"cascade" : "0",
"show" :"false",
"id" : "6.2",
"survey" : ""
}
]
}
]
}
如果您正在寻找数据驱动的视图,那么children
属性可以是绑定对象,如下例所示
{
"type": "LinearLayout",
"orientation": "horizontal",
"children": {
"@": {
"collection": "@{user.tags}",
"layout": {
"type": "LinearLayout",
"orientation": "horizontal",
"data": {
"tag": "@{user.tags[$index]}"
},
"children": [
{
"type": "TextView",
"text": "@{tag.title}"
}
]
}
}
}
}
collection
必须是json数组。
这里collection
是数据集,即数据数组中的项目数。
layout
必须是布局定义或参考
为集合中的每个项目充气的布局。请注意data
属性以及在布局中使用$index
。
这将适用于以下数据集:
{
"tags": [
{
"title": "alpha"
},
{
"title": "beta"
},
{
"title": "gamma"
},
{
"title": "delta"
},
{
"title": "niner"
}
]
}