java - Update City Spinner with notifyDataSetChanged after state is selected -


how update city spinner once user selects state?

both fields populated using datacall.class returns json data , parses info array spinner.

my code below sets city adapter defualt "select state" value , once user gets selects state should use notifydatasetchanged since default array city spinner updated new city names. errors getting commented in code below.

public class searchactivity extends activity{        private static final string tag = "myapp";        arrayadapter<string> adapter2;        string city_values[] = new string[]{"please select state."};         @override        public void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.search_layout);              final spinner zipspinner = (spinner) findviewbyid(r.id.zipspinner);             final spinner cityspinner = (spinner) findviewbyid(r.id.cityspinner);                     adapter2 = new arrayadapter<string> (this,android.r.layout.simple_spinner_item, city_values);             adapter2.setdropdownviewresource(r.layout.city_spinner_layout);             cityspinner.setadapter(adapter2);              jsonarray jsonarray;             try {                 string spinnercontenttype = "state";                 string spinnerurl = "getstorestate.php";                 string spinner_data =  datacall.getjson(spinnerurl,spinnercontenttype);                  log.d(tag, spinner_data);                 jsonarray = new jsonarray(spinner_data);                  final string[] array_spinner = new string[jsonarray.length()];                  (int i=0; i<jsonarray.length(); i++) {                    string stylevalue = jsonarray.getjsonarray(i).getstring(0);                         log.d(tag, stylevalue);                     array_spinner[i] = stylevalue;                 }                  arrayadapter<string> adapter = new arrayadapter<string> (this,                                    android.r.layout.simple_spinner_item,array_spinner);                 adapter.setdropdownviewresource(r.layout.state_spinner_layout);                 zipspinner.setadapter(adapter);                 zipspinner.setonitemselectedlistener(new onitemselectedlistener() {                       public void onitemselected(adapterview<?> parent,view view, int pos, long id) {                             int item = zipspinner.getselecteditemposition();                             if(item != 0){                                  string item_value = array_spinner[item];                                 string spinnercontenttype = "city";                                 string spinnerurl = "getstorecity.php?state=" + item_value;                                 log.d(tag, spinnerurl);                                 string city_data =  datacall.getjson(spinnerurl,spinnercontenttype);                                  log.d(tag, city_data);                                  jsonarray cityarray = null;                                 try {                                     cityarray = new jsonarray(city_data);                                 } catch (jsonexception e) {                                      e.printstacktrace();                                 }                                        final string[] city_spinner = new string[cityarray.length()];                                   (int i=0; i<cityarray.length(); i++){                                                            string stylevalue = null;                                     try {                                         stylevalue = cityarray.getjsonarray(i).getstring(0);                                         log.d(tag, stylevalue);                                     } catch (jsonexception e) {                                         e.printstacktrace();                                     }                                                   city_spinner[i] = stylevalue;                                                                }                                  city_values = city_spinner;                                  adapter2.notifydatasetchanged();                                  string test_string = "notify update";                                 log.d(tag, test_string);                             } else {                                // finish();                             }                         }                         public void onnothingselected(adapterview parent) {                           // nothing.                         }                    });                     cityspinner.setonitemselectedlistener(new onitemselectedlistener() {                         public void onitemselected(adapterview<?> parent,view view, int pos, long id) {                             int item = zipspinner.getselecteditemposition();                             if(item != 0){                              }else{                              }                          }                          public void onnothingselected(adapterview parent) {                           // nothing.                         }                   });              }catch (jsonexception e) {                 e.printstacktrace();           }      } } 

public class searchactivity extends activity {     arrayadapter<string> adapter2;     string city_values[];      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.search_layout);          final spinner zipspinner = (spinner) findviewbyid(r.id.zipspinner);         final spinner cityspinner = (spinner) findviewbyid(r.id.cityspinner);          string city_values[] = new string[]{"please select state."};         adapter2 = new arrayadapter<string>(this, android.r.layout.simple_spinner_item, city_values);         adapter2.setdropdownviewresource(r.layout.city_spinner_layout);         cityspinner.setadapter(adapter2);          jsonarray jsonarray;         final jsonarray cityarray;          try {             string spinnercontenttype = "state";             string spinnerurl = "getstorestate.php";             string spinner_data = datacall.getjson(spinnerurl, spinnercontenttype);              jsonarray = new jsonarray(spinner_data);              final string[] array_spinner = new string[jsonarray.length()];              (int = 0; < jsonarray.length(); i++) {                 string stylevalue = jsonarray.getjsonarray(i).getstring(0);                 array_spinner[i] = stylevalue;             }              arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_spinner_item, array_spinner);             adapter.setdropdownviewresource(r.layout.state_spinner_layout);             zipspinner.setadapter(adapter);             zipspinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() {                  public void onitemselected(adapterview<?> parent, view view, int pos, long id) {                     int item = zipspinner.getselecteditemposition();                     string item_value = array_spinner[item];                     string spinnercontenttype = "city";                     string spinnerurl = "getstorecity.php?state=" + item_value;                     string city_data = datacall.getjson(spinnerurl, spinnercontenttype);                     cityarray = new jsonarray(city_data);               //the final local variable cityarray cannot assigned, since defined in enclosing type                      final string[] city_spinner = new string[cityarray.length()];                       (int = 0; < cityarray.length(); i++) {                         string stylevalue = cityarray.getjsonarray(i).getstring(0); //unhandled exception type jsonexception                                         city_spinner[i] = stylevalue;                     }                      city_values = city_spinner; //unhandled exception type jsonexception                     adapter2.notifydatasetchanged();                 }                  public void onnothingselected(adapterview parent {                     // nothing.                 }             });         } catch (jsonexception e) {             e.printstacktrace();         }     } } 

now try


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -