我有以下代码填充微调器,
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 是否称为“数组列表”???
干杯,
迈克。
最佳答案
改变;
adapter.add(myUsers.getString(i));
到
adpater.add(myUsers.getJSONObject(i).getString("BusName");
要在选择公交车名称后检索公交车电话,请将您的公交车名称和公交车电话值也存储在 map 中。这样,当选择公交车名称时,您可以使用 map 中的信息填充您的小部件。
关于java - 使用 JSON 数组填充 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8030282/