JSON 对象键值对解析为 spinners Android Java

JSON object key value pair parse to spinners Android Java

{ "India": "India", "Malaysia": "Malaysia", "Mexico": "Mexico" }

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

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();
                            }
                        }

首先你必须创建一个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);

试试下面

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);