我有一个布局和多行(多个xml文件),包含一个复选框或两个textview或一个图像或一个textview。 我调用一个服务,作为回报,我得到一个包含我想要在当前布局文件中添加的布局类型的json。例如: -
{
"data": {
"layouts": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
}
}
现在有三个id,所以我将不得不将三个不同的布局xml文件放在彼此之下,所有这些都是不同的。
还有一个按钮可以在其他充气视图下添加视图。 所以有任何建议请关于如何实现这个
答案 0 :(得分:0)
你实际上可以多次给同一个东西充气,并将它拼凑在一起。例如,我以前做过这样的事情。如果你按照这个原则来做你应该做的事情,它应该对你有帮助。
String[] values=new String[]{"Value 1","Value 2","Value 3"};
LayoutInflater li = LayoutInflater.from(context);
LinearLayout ll = (LinearLayout) li.inflate(R.layout.some_linear_layout);
for (String value:values) {
TextView tv=(TextView) li.inflate(R.layout.some_text_view);
tv.setText(value);
ll.addView(tv);
}
如果您想根据某个ID号更改视图,只需执行一个switch语句来确定您要执行的视图类型,如下所示:
View view;
int id=json.getInt("id");
swtich (id) {
case 0:
view=li.inflate(R.layout.view_1);
break;
case 1:
view=li.inflate(R.layout.view_2);
break;
}
li.addView(view);