{
"Platforms": [
{
"PlatformNo": "1",
"SerialNumbers": [
{
"Aplilevel": "1",
"Version": "1.0"
},
{
"Aplilevel": "2",
"Version": "1.1"
},
{
"Aplilevel": "3",
"Version": "1.5"
},
{
"Aplilevel": "4",
"Version": "1.6"
}
]
},
{
"PlatformNo": "2",
"SerialNumbers": [
{
"Aplilevel": "5",
"Version": "2.0"
},
{
"Aplilevel": "6",
"Version": "2.0.1"
},
{
"Aplilevel": "7",
"Version": "2.1.x"
},
{
"Aplilevel": "8",
"Version": "2.2.x"
},
{
"Aplilevel": "9",
"Version": "2.3"
},
{
"Aplilevel": "10",
"Version": "2.3.3"
}
]
},
{
"PlatformNo": "3",
"SerialNumbers": [
{
"Aplilevel": "11",
"Version": "3.0.x"
},
{
"Aplilevel": "12",
"Version": "3.1.x"
},
{
"Aplilevel": "13",
"Version": "3.2"
}
]
},
{
"PlatformNo": "4",
"SerialNumbers": [
{
"Aplilevel": "14",
"Version": "4.0"
},
{
"Aplilevel": "15",
"Version": "4.0.3"
}
]
}
]
}
The JSON shown above is the output that I need to show in the PlatformNo’s spinner. When I select one item, then do I need to get the corresponding API levels in another spinner? Can anyone help me please to get this solved? I’m trying below to get it, but I’m unable to get it correct. I’m getting the last values only in the next spinner. Is there a way to check this? Please help me.
String[] platfromno,apilevel;
Spinner splatform,sapilevel;
JSONObject obj = json.getJSONObject("Result");
JSONArray platformObject = customerObject.getJSONArray("Platforms");
String parray = customerObject.getString("Platforms");
System.out.println("String of Platforms array is " + parray);
for (int i = 0; i < productNameObject.length(); i++) {
JSONObject e = productNameObject.getJSONObject(i);
platformno[i] = e.getString("PlatformNo");
ArrayAdapter<String> spinnerPlatfromNo =
new ArrayAdapter<String>( this,
android.R.layout.simple_spinner_dropdown_item,
platformno);
splatform.setAdapter(spinnerPlatfromNo);
JSONArray serialNumberObject = e.getJSONArray("SerialNumbers");
apilevel= new String[serialNumberObject.length()];
splatform.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0,
View arg1, int arg2, long arg3) {
System.out.println("selected Item position is " +
splatform.getSelectedItemPosition());
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// if (splatform.getSelectedItemPosition()) {
for (int j = 0; j < serialNumberObject.length(); j++) {
JSONObject e1 = serialNumberObject.getJSONObject(j);
apilevel[j] = e1.getString("Aplilevel");
// }
}
1 Answer