使用JSON数组填充Spinner

时间:2011-11-06 20:49:41

标签: java android json spinner

我有以下代码填充微调器,

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称为“数组列表”???

干杯,

麦克

1 个答案:

答案 0 :(得分:4)

更改;

adapter.add(myUsers.getString(i));

adpater.add(myUsers.getJSONObject(i).getString("BusName");

要在选择总线名称后检索公交车电话,还要将公交车名称和公交车电话值存储在地图中。这样,当选择总线名称时,您可以使用地图中的信息填充小部件。