JSON 对象键值对解析为微调器 Android Java



{ "印度": "印度", "马来西亚": "马来西亚", "墨西哥": "墨西哥" }

我需要将其解析为微调器。 这是我的代码,我正在使用凌空抽射

Log.w("Response", response.keys());
Iterator<String> keys= response.keys();
while (keys.hasNext())
{
String keyValue = (String)keys.next();
try {
String valueString = response.getString(keyValue);
ArrayAdapter<String> locationAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, valueString);
locationAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Log.w("valueString KEY", valueString);
} catch (JSONException e) {
e.printStackTrace();
}
}

试试下面

List<String> list = new ArrayList();
Iterator<String> keys = response.keys();
while (keys.hasNext()) {
try {
list.add(response.getString(keys.next()));
} catch (Exception e) {
// ignore me
}
}
ArrayAdapter<String> locationAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
locationAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

首先,您必须创建一个 keyValue 数组,然后您必须将此数组传递给 ArrayAdapter.eg

Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>
(this, android.R.layout.simple_spinner_item,
spinnerArray); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout
.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter); 

或者你可以使用这个:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
your_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);

最新更新