-
我的Json对国家的回应:
{"searchvalues":[{"id":"1","name":"india"},{"id":"2","name":"srilanka"}],"success":1}
-
国家名称通过使用添加到微调器:
"countryadapter.add(jsonArray.getJSONObject(i).getString("name"));"
- 下拉工作正常,当我选择"coutry"时。例如,我选择"india",我想要
({"id":"1","name":"India"}).
中的"id" -
我的需求仅从
({"id":"1","name":"India"})
获得选定的项目id。country.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub String countryname = country.getSelectedItem().toString(); StringRequest state=new StringRequest(Request.Method.POST, D_URL, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsnobject = new JSONObject(response); JSONArray jsonArray =jsnobject.getJSONArray("searchvalues"); distadapter.clear(); for (int i = 0; i < jsonArray.length(); i++) { JSONObject obj= jsonArray.getJSONObject(i); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { // TODO Auto-generated method stub } });
当您通过点击项目微调器来选择位置时。
JSONObject object = new JSONObject("Your Response");
JSONArray countries = object.getJSONArray("searchvalues");
String id = countries.getJSONObject(position).getString("id");
通过这种方式,您可以获得ID
验证JSON、后,请尝试此操作
class Country
{
int id;
String name;
}
List<Country> countryList = new ArrayList<Country>();
country.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
// TODO Auto-generated method stub
String countryname = country.getSelectedItem().toString();
StringRequest state=new StringRequest(Request.Method.POST, D_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsnobject = new JSONObject(response);
JSONArray jsonArray =jsnobject.getJSONArray("searchvalues");
distadapter.clear();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj= jsonArray.getJSONObject(i);
Country tempCountry;
int id = obj.getInt("id");
String name = obj.getString("name");
tempCountry.id =id;
tempCountry.name = name;
countryList.add(tempCountry);
}
for(Country temp: countryList)
{
if(countryName.equals(temp.name))
Toast.makeText(getApplicationContext(),"id : "+temp.id,Toast.LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
// TODO Auto-generated method stub
}
});