Android 微调器中仅显示数组的列表项
我目前正在开发一个需要列出所有计数器及其所在城市的列表,为此我使用battuta Api,我设法获取微调器,但不幸的是,微调器中只显示最后一项Android 微调器中仅显示数组的列表项,android,arrays,api,arraylist,Android,Arrays,Api,Arraylist,我目前正在开发一个需要列出所有计数器及其所在城市的列表,为此我使用battuta Api,我设法获取微调器,但不幸的是,微调器中只显示最后一项 for (int i=0; i<response.length(); i++){ try { worldlist = new ArrayList<String>(); ID =
for (int i=0; i<response.length(); i++){
try {
worldlist = new ArrayList<String>();
ID = response.getJSONObject(i).getString("code");
name = response.getJSONObject(i).getString("name");
// Retrieve the name on the Spinne
worldlist.add(name);
System.out.println("Name\n"+name);
// System.out.println("WorldList"+worldlist.toString());
} catch (JSONException e) {
e.printStackTrace();
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, worldlist);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spinner.setAdapter(spinnerArrayAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
System.out.println("Error"+error.getMessage());
}
});
mQueue.add(request);
我猜您的逻辑代码不正确,请尝试将单词列表声明和init spinner适配器放在for循环的外部
worldlist = new ArrayList<String>();
for (int i = 0; i < response.length(); i++) {
try {
ID = response.getJSONObject(i).getString("code");
name = response.getJSONObject(i).getString("name");
// Retrieve the name on the Spinne
worldlist.add(name);
System.out.println("Name\n"+name);
// System.out.println("WorldList"+worldlist.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, worldlist);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spinner.setAdapter(spinnerArrayAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});