2016-10-29 2 views
1

Ich habe dieses json:Anzeigetext mit unterschiedlichem Rückgabewert auf spinner Android

"result": [ 
    { 
     "nama_p": "ACEH", 
     "IDProvinsi": "1" 
    }, 
    { 
     "nama_p": "SUMATERA UTARA", 
     "IDProvinsi": "6728" 
    }, 
    { 
     "nama_p": "SUMATERA BARAT", 
     "IDProvinsi": "12920" 
    }] 

Ich habe versucht, IDProvinsi Wert zu erhalten, wenn ich auf meinem Spinner angezeigt nama_p .. bu im scheitern ..

das ist mein Java-Code:

private void getData(){ 
     //Creating a string request 
     StringRequest stringRequest = new StringRequest(Config.DATA_URL, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         JSONObject j = null; 
         try { 
          //Parsing the fetched Json String to JSON Object 
          j = new JSONObject(response); 

          //Storing the Array of JSON String to our JSON Array 
          result = j.getJSONArray("result"); 

          //Calling method getStudents to get the students from the JSON Array 
          getProv(result); 
         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 

        } 
       }); 

     //Creating a request queue 
     RequestQueue requestQueue = Volley.newRequestQueue(this); 

     //Adding request to the queue 
     requestQueue.add(stringRequest); 
    } 

    private void getProv(JSONArray j){ 
     //Traversing through all the items in the json array 
     for(int i=0;i<j.length();i++){ 
      try { 
       //Getting json object 
       JSONObject json = j.getJSONObject(i); 

       //Adding the name of the student to array list 
       id.add(json.getString("IDProvinsi")); 
       provinsi.add(json.getString("nama_p")); 
       System.out.println(provinsi); 

//    MyClass[] obj ={ 
//      new MyClass(provinsi,id) 
//    }; 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 

     //Setting adapter to show the items in the spinner 

     spinnerprov.setAdapter(new ArrayAdapter<String>(AddLokasiActivity.this, android.R.layout.simple_spinner_dropdown_item,id)); 

    } 

wie kann ich den Wert auf IDProvinsi bekommen und es zu meinen anderen Spinner senden ich habe 2 Spinner
1. für Anzeigezustand 2. für die Anzeige Stadt

ich will Stadt angezeigt werden, wenn der Wert des Zustandes meines webservice

thx Stackoverflow

+0

scheint sehen wie kein Problem in json Parsing es nach diesem 'getProv (Ergebnis) nur stellen Sie Ihren Adapter ist;' Funktion Anruf –

+0

theres kein Problem, bis ich Nama_p .. aber, wie IDProvinsi zu erhalten, wenn Spinner ausgewählt Herr? –

+0

Verwenden Sie Listener auf Spinner, geben Sie Position dann verwenden Sie Position, um Daten aus Ihrer ID-Liste zu bekommen –

Antwort