"parent": [
{
"type": "Category",
"label": "Transition",
"isButtonGroup": false,
"children": [
{
"label": "Date Of case (Est.)",
"questionType": "DateTime",
},
{
"label": "Benchmark",
"questionType": "Float",
},
@Override
public Children getItem(int position) {
.....
return Children ;
}
case1:我想在一行中显示一个孩子。
case2:我想在一行中显示所有孩子。
因为我为每个孩子调用了getView()方法,它只显示第一个案例。
我无法获得案例2,任何帮助或提示都将受到赞赏。感谢。
答案 0 :(得分:0)
在自定义适配器的getView()方法中,如果您想为所有子项创建一行,则添加此foreach循环:
<强>假设强>: - allTheChildren是ArrayList,它包含调用自定义适配器的父级的所有子级。 - getValue()方法是返回子内容的方法。 - rowView =表示ListView中每一行的布局。 - textView =设置子项的textView(这是rowView布局的一部分)。
String theFinalStrng = "";
for (Child c : allTheChildren) {
theFinalString = theFinalString + c.getValue() + " ";
}
textView.setText(theFinalString);
return rowView;
这样,如果您有多个子节点,则迭代它们并将它们附加到一个字符串中,该字符串在您添加到textview的末尾,因此在同一行中。
我在这里缺少有价值的信息,因此我无法准确建议您需要编写的代码。替换为您拥有的适当变量和类型。