我有以下代码填充微调器,
JSONObject jsonResponse = new JSONObject(new String(buffer));
JSONArray myUsers = jsonResponse.getJSONArray("GetBusNamesResult");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("Select a Buseness...");
for (int i = 0; i < myUsers.length(); ++i)
{
//String jsonStr = myUsers.getString(i);
//JSONObject myJsonObj = new JSONObject(jsonStr);
//adapter.add(myJsonObj.getString("BusName"));
adapter.add(myUsers.getString(i));
}
userSpinner.setAdapter(adapter);
userSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
使用此JSON对象
{"GetBusNamesResult":[{"BusName":"Fred Camping","BusPhone":"0434943743"},{"BusName":"Joe's Carpets","BusPhone":"1234687965"}]}
但它显示了微调器中每条记录的整个列表,如下所示,
{“BusName”:”Joe”,”BusPhone”:”1234567890”}
我该如何解决?我可以使用上面注释掉的代码将用户名放入微调器,但是不会返回值。
还返回JSON称为“数组列表”???
干杯,
麦克
答案 0 :(得分:4)
更改;
adapter.add(myUsers.getString(i));
到
adpater.add(myUsers.getJSONObject(i).getString("BusName");
要在选择总线名称后检索公交车电话,还要将公交车名称和公交车电话值存储在地图中。这样,当选择总线名称时,您可以使用地图中的信息填充小部件。