android - How to put Json data in spinners from URL? -


i getting json in text box tried put data in spinner unable so. below main activity class , using volley.

    public class mainactivity  extends activity {         private string urljsonarry = "https://www.abc.json";         private static string tag = mainactivity.class.getsimplename();         private button btnmakearrayrequest;          // progress dialog         private progressdialog pdialog;          private textview txtresponse,txtresponse2,txtresponse3,txtresponse4;          // temporary string show parsed response         private string jsonresponse, jsonresponse2, jsonresponse3, jsonresponse4;         spinner spinner;         arrayadapter<string> adapter;         @override         protected void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.spinners);              spinner= (spinner) findviewbyid(r.id.spinner);                 btnmakearrayrequest = (button) findviewbyid(r.id.btnarrayrequest);             txtresponse = (textview) findviewbyid(r.id.txtresponse);             txtresponse2 = (textview) findviewbyid(r.id.txtresponse2);             txtresponse3 = (textview) findviewbyid(r.id.txtresponse3);             //  txtresponse4 = (textview) findviewbyid(r.id.txtresponse4);               pdialog = new progressdialog(this);             pdialog.setmessage("please wait...");             pdialog.setcancelable(false);              btnmakearrayrequest.setonclicklistener(new view.onclicklistener() {                  @override                 public void onclick(view v) {                     // making json array request                     makejsonarrayrequest();                 }             });          }            private void makejsonarrayrequest () {          showpdialog();         jsonobjectrequest req = new jsonobjectrequest(urljsonarry,                  new response.listener<jsonobject>() {                      @override                     public void onresponse(jsonobject response) {                         log.d(tag, response.tostring());                          try {                              jsonarray array = response.getjsonarray("results");                             // parsing json array response                             // loop through each json object                             jsonresponse = "";                             (int = 0; < array.length(); i++) {                                  jsonobject person = (jsonobject) array                                         .get(i);                                  system.out.println(person.tostring());                                  string syllabus = person.getstring("grade");                                 string grade = person.getstring("grade");                                 string subject = person.getstring("subject");                                 jsonresponse += "board: " + syllabus + "\n\n";                                 jsonresponse2 += "class: " + grade + "\n\n";                                 jsonresponse3 += "subject: " + subject + "\n\n";                                 // jsonresponse4 += "id: " + id + "\n\n";  //getting compile time error here   adapter= new arrayadapter<string>(this, android.r.layout.simple_spinner_item,array);                                 adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);                                 spinner.setadapter(adapter);}                                txtresponse.settext(jsonresponse);                                txtresponse2.settext(jsonresponse2);                             txtresponse3.settext(jsonresponse3);                             //txtresponse4.settext(jsonresponse4);                           } catch (jsonexception e) {                             e.printstacktrace();                             toast.maketext(getapplicationcontext(),                                     "error: " + e.getmessage(),                                     toast.length_long).show();                         }                          hidepdialog();                     }                 }, new response.errorlistener() {             @override             public void onerrorresponse(volleyerror error) {                 volleylog.d(tag, "error: " + error.getmessage());                 toast.maketext(getapplicationcontext(),                         error.getmessage(), toast.length_short).show();                 hidepdialog();             }              }); 

you need use activity context this not activity context try this

adapter= new arrayadapter<string>(mainactivity.this, android.r.layout.simple_spinner_item, array); 

edit :

change array format. example in spinner going show subject following

string[] mysubject = new string[array.length()]; (int = 0; < array.length(); i++) {                                  jsonobject person = (jsonobject) array                                         .get(i);                                  system.out.println(person.tostring());                                  string syllabus = person.getstring("grade");                                 string grade = person.getstring("grade");                                 string subject = person.getstring("subject");                                 jsonresponse += "board: " + syllabus + "\n\n";                                 jsonresponse2 += "class: " + grade + "\n\n";                                 jsonresponse3 += "subject: " + subject + "\n\n";                                 // jsonresponse4 += "id: " + id + "\n\n";                                  mysubject[i] = subject;  }    adapter= new arrayadapter<string>(this, android.r.layout.simple_spinner_item, mysubject);                                 adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);                                 spinner.setadapter(adapter); 

note : need move set adapter outside of loop.


Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -