我正在尝试使用布局获取我在Spinner中选择的所有项目。我正在动态创建Spinner并动态地将项添加到Spinner,这就是我在这里使用layout来获取ChildElement
的原因。
以下是代码: -
int count = layout.getChildCount();
StringBuilder jsonString = new StringBuilder();
View v = null;
int j = 1;
for(int i=0; i<count; i++) {
v = layout.getChildAt(i);
if(v instanceof Spinner) {
jsonString.append("["+j+":"+((Spinner) v).getSelectedItem()+"]");
j++;
}
}
问题陈述: -
这是一个简单的字符串操作问题。
我目前有5 Spinner
。所以我试图让jsonString
像这样。
[1:CS,2:EE,3:RE,4:TT,5:UU]
此处CS,EE,RE,TT,UU
是我在5 Spinner
但是使用我的代码,我的jsonString
就会显示出来 -
[1:CS][2:EE][3:RE][4:TT][5:UU]
如何按照我想要的方式制作jsonString
。我确定,我使用追加的方式不正确。
任何人都可以帮助我吗?谢谢你的帮助。
答案 0 :(得分:2)
解决方案似乎很简单。你将'['和']'放在append循环中,在每次迭代时附加方括号。尝试以下(我没有测试过。)
int count = layout.getChildCount();
StringBuilder jsonString = new StringBuilder();
View v = null;
int j = 1;
jsonString.append("[");
for(int i=0; i<count; i++) {
v = layout.getChildAt(i);
if(v instanceof Spinner) {
jsonString.append(j+":"+((Spinner) v).getSelectedItem());
if (j != count) //if this is not the last spinner
jsonString.append(",");
j++;
}
}
jsonString.append("]");