2016-03-29 22 views
-1

Ben Android uygulamalarında yeni başlıyorum.Android Studio'da Mysql kullanarak ülke spinner üzerinde şehir spinner tabanı nüfus

enter image description here

: Ben Mumbai seçerseniz

, saygı pickup_point_cd göstermesi gerekir 2 spinner (D 4 değer değil Havaalanı değeri göstermek) Ben son 4 gün için yapıyorum Yardım Need public class MainActivity AppCompatActivity gerekli dekar alma için web hizmeti veya web API yapmak zorunda Öncelikle {

//Declaring an Spinner 
public Spinner spinner; 
public Spinner spinner1; 

//An ArrayList for Spinner Items 
public ArrayList<String> students; 
public ArrayList<String> students1; 


//JSON Array 
public JSONArray result; 
public JSONArray result1; 

//TextViews to display details 
private TextView textViewName; 
private TextView textViewCourse; 
private TextView textViewSession; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    //Initializing the ArrayList 
    students = new ArrayList<String>(); 
    students1 = new ArrayList<String>(); 

    //Initializing Spinner 
    spinner = (Spinner) findViewById(R.id.spinner); 
    spinner1 = (Spinner) findViewById(R.id.spinner2); 


    //Adding an Item Selected Listener to our Spinner 
    //As we have implemented the class Spinner.OnItemSelectedListener to this class iteself we are passing this to setOnItemSelectedListener 
    spinner.setOnItemSelectedListener(this); 
    spinner1.setOnItemSelectedListener(this); 

    //Initializing TextViews 
    textViewName = (TextView) findViewById(R.id.textViewName); 
    textViewCourse = (TextView) findViewById(R.id.textViewCourse); 
    textViewSession = (TextView) findViewById(R.id.textViewSession); 

    //This method will fetch the data from the URL 
    getData(); 
    getData1(); 



} 

public 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(Config.JSON_ARRAY); 

         //Calling method getStudents to get the students from the JSON Array 
         getStudents(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); 
} 

public void getStudents(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 
      students.add(json.getString(Config.TAG_USERNAME)); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

public void getData1() { 
    //Creating a string request 
    StringRequest stringRequest = new StringRequest(Config.DATA2_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 
         result1 = j.getJSONArray(Config.JSON_ARRAY2); 

         //Calling method getStudents to get the students from the JSON Array 
         getStudents1(result1); 
        } 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); 
} 

public void getStudents1(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 
      students1.add(json.getString(Config.TAG_CD)); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 

    //Setting adapter to show the items in the spinner 
    spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, students)); 
    spinner1.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, students1)); 

} 
+0

onay bundan sonra bu kod satırları ekleyin : http://www.androidhive.info/2012/06/android-populating-spinner-data-from-sqlite-database/ – David

+0

httpclient kullanımdan kaldırıldı .. :( – ATKT

+1

https://www.simplifiedcoding.net/android-spinner -örnek-yük-json-kullanarak-volley/ben bu öğretici izleyin ... @David kardeşim lütfen bana yardımcı olun :) – ATKT

cevap

0

Spinner.OnItemSelectedListener uygular uzatır MySQL'inizden android uygulamasında iplikçiler için ta. Bundan sonra web servisi aracılığıyla veri alabilirsiniz. 2 farkli spinner verisi için 2 differnet web servisi yapin. Referans için bu kılavuzu kullanabilirsiniz. enter link description here

Eğer bu gibi şeyler yaparsanız, ikinci spiner verilerinin birinci spoylerin seçiminde nasıl ayarlanacağını size bildireceğim. İşte .....

Remove this lines first.. 
//Setting adapter to show the items in the spinner 
spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, students)); 
spinner1.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, students1)); 

kodudur ve getData() yöntemine bu size yardımcı olacaktır

ArrayList<String> cityList_final = new ArrayList<String>(); 
     cityList_final .add("Select Item"); 
     cityList_final .addAll(students); 
spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, cityList_final)); 

     spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
             int pos, long arg3) { 

       spinnerSelectedItem= spinner.getItemAtPosition(pos).toString(); 
if(spinnerSelectedItem.equalsIgnoreCase("Select Item")==false) {     
// call here your getData1 method and pass spinnerSelectedItem in url to fetch data according to spinnerSelectedItem.//donot call getData1 method in onCreate 
        getData1(spinnerSelectedItem); 

      } 

       setSecondSpinner(); 
      } 

      public void onNothingSelected(AdapterView<?> arg0) { 

      } 
     }); 
public void setSecondSpinner() 
{ 
ArrayList<String> pickPointList_final = new ArrayList<String>(); 
    pickPointList_final .add("Select Item"); 
     pickPointList_final .addAll(students1); 

spinner1.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, pickPointList_final)); 
    spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, 
            int arg2, long arg3) { 


      spinnerSelectedItem1= spinner1.getItemAtPosition(arg2).toString(); 


     } 

     public void onNothingSelected(AdapterView<?> arg0) { 

     } 
    }); 

} 

Umut .....

+0

Çalışıyorum ama eksik kontrol edin bu http://i.stack.imgur.com/pYTDn.png – ATKT

+0

Cevabımı güncelledim..bunu kontrol et ... –

+0

Bana bakalım kardeşim :) – ATKT