java - 使用 JSON 数组填充 Spinner

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

干杯,

迈克。

最佳答案

改变;

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

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

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

关于java - 使用 JSON 数组填充 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8030282/

相关文章:

java - 如何提高spring mvc批量事务的性能

java - 如何仅使用空格键启动/停止秒表?

java - Android,如何从 Google Drive 文件选择器获取 "fileID"

android - 动画安卓

ios - Firebase:Swift - 在不知道父键的情况下查询子节点中的值

java - 在构造函数中将对象添加到静态 ArrayList 是不好的做法吗?

javascript - JSCallback 服务器关闭 : Stopping callbacks

android - 再按一次退出

java - 在 Oracle 表中存储 JSON 数组

php android spinner - JSONObject 无法转换为 JSONArray