I'am动态创建并添加项目给spinners,问题是选择任何微调项目的项目(例如:4th),iam获得最后一个spinners项目的id(第四个id),问题出在iam使用的列表上。我想要得到我为该项目动态设置的ID。Dynamic Spinners项目选择错误
如何正确获取每个微调器的值..
代码如下。
public void secondarray(JsonParser jsonParser) {
String fieldName;
ameList = new ArrayList<AmeModel>();
AmeModel ameModel = null;
try {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
ameModel = new AmeModel();
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
fieldName = jsonParser.getCurrentName();
if ("valueid".equals(fieldName)) {
jsonParser.nextToken();
ameModel.setId((jsonParser.getText()));
} else if ("valuename".equals(fieldName)) {
jsonParser.nextToken();
ameModel.setName((jsonParser.getText()));
} else {
jsonParser.skipChildren();
}
}
ameList.add(ameModel);
}
Spinner sp=new Spinner(MainActivity.this);
AmeAdapter adapter = new AmeAdapter(this, ameList);
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this, ameList.get(i).getId(), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
container.addView(sp);
//setContentView(linearlayout);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
任何帮助将不胜感激谢谢。
什么是你面对@Sachin瓦玛 –
如果IAM选择第一微调的2位,IAM得到2当前位置最后spinner..i的价值要的问题根据各个纺纱厂的物品获取价值。 –
我认为问题是与列表,列表最终填充最后一个数组items.so只有亚姆获取其在所有其他spinners.This项目,我可以从微调选择正确的项目。谢谢。 –