android - Using AsyncTask to load more than two images in daimajia-AndroidImageSlider with jsonData -


i'm using https://github.com/daimajia/androidimageslider slider three images.and here i've tried in asynctask load 3 image json data:

public class asynchttptask extends asynctask<string, void, integer> {         public progressdialog pdialog;         @override         protected void onpreexecute() {             super.onpreexecute();             pdialog = new progressdialog(mainactivity.this);             pdialog.setindeterminate(false);             pdialog.setmessage("loading, please wait...");             pdialog.setcancelable(true);             pdialog.show();         }          @override         protected integer doinbackground(string... params) {             integer result = 0;             httpurlconnection urlconnection;              try {                 /* forming th java.net.url object */                 url url = new url(params[0]);                  urlconnection = (httpurlconnection) url.openconnection();                  /* request */                 urlconnection.setrequestmethod("get");                  int statuscode = urlconnection.getresponsecode();                  /* 200 represents http ok */                 if (statuscode ==  200) {                      bufferedreader r = new bufferedreader(new inputstreamreader(urlconnection.getinputstream()));                     stringbuilder response = new stringbuilder();                     string line;                     while ((line = r.readline()) != null) {                         response.append(line);                     }                      parseresult(response.tostring());                      result = 1;                  }else{                      result = 0; //"failed fetch data!";                  }              } catch (exception e) {                 toast.maketext(mainactivity.this, e.getlocalizedmessage(), toast.length_short).show();             }              return result; //"failed fetch data!";         }          @override         protected void onpostexecute(integer result) {              /* download complete. lets update ui */             if (result == 1) {                 adapter = new myrecycleradapter(mainactivity.this, feeditemlist);                 mmrecyclerview.setadapter(adapter);                 pdialog.dismiss();             } else {                 toast.maketext(mainactivity.this, "failed fetch data!", toast.length_short).show();              }         }     } 

of course load need use on oncreate:

final string url = "http://url/data.json"; //json data url         new asynchttptask().execute(url); //execute json data 

so, have 3 image in jsondata:

"main-header": [     {      "headerimg1": "http://url/main1.jpg",     "title": "title 1"     },     {     "headerimg2": "http://url/main2.jpg",     "title": "title 2"     },     {     "headerimg3": "http://url/main2.jpg",     "title": "title 3"     }   ] 

// jsondata working witout problem.but,

what can show these 3 images in slider above jsondata?

edit: here i've done on oncreate , this, worked fine need json data loaded:

mdemoslider = (sliderlayout) findviewbyid(r.id.slider);         hashmap<string, string> url_maps = new hashmap<>();         url_maps.put("title1", "http://url/pic1.jpg");         url_maps.put("title2", "http://url/pic3.jpg");         url_maps.put("title3", "http://url/pic3.jpg");         (string name : url_maps.keyset()) {             textsliderview textsliderview = new textsliderview(this);             // initialize sliderlayout             textsliderview                     .description(name)                     .image(url_maps.get(name))                     .setscaletype(basesliderview.scaletype.fit);             //add information             textsliderview.bundle(new bundle());             textsliderview.getbundle()                     .putstring("extra", name);             mdemoslider.addslider(textsliderview);         }         mdemoslider.setpresettransformer(sliderlayout.transformer.accordion);         mdemoslider.setpresetindicator(sliderlayout.presetindicators.right_bottom);         mdemoslider.setcustomanimation(new descriptionanimation());         mdemoslider.setduration(6000); 

any appreciated.

cheers!

this how supposed it. use code in asynctask's onpostexecute method.

                arraylist = new arraylist<hashmap<string, string>>();                 jsonobject jsonresponse;                 try {                     jsonresponse = new jsonobject(result);                     jsonarray jsonmainnode = jsonresponse.optjsonarray("main-header");                      int lengthjsonarr = jsonmainnode.length();                     for(int i=0; < lengthjsonarr; i++)                     {                         hashmap<string, string> map = new hashmap<string, string>();                         jsonobject jsonchildnode = jsonmainnode.getjsonobject(i);                           map.put(jsonchildnode.getstring("title"),jsonchildnode.getstring("headerimg2"));                         arraylist.add(map);                         for(string name : map.keyset()){                             textsliderview textsliderview = new textsliderview(mainactivity.this);                              textsliderview                                     .description(name)                                     .image(map.get(name))                                     .setscaletype(basesliderview.scaletype.fit)                                     .setonsliderclicklistener(mainactivity.this);                              textsliderview.bundle(new bundle());                             textsliderview.getbundle()                                     .putstring("extra", name);                              mdemoslider.addslider(textsliderview);                         }                         mdemoslider.setpresettransformer(sliderlayout.transformer.accordion);                         mdemoslider.setpresetindicator(sliderlayout.presetindicators.center_bottom);                         mdemoslider.setcustomanimation(new descriptionanimation());                         mdemoslider.setduration(4000);                         mdemoslider.addonpagechangelistener(mainactivity.this);                     }                   } catch (jsonexception e) {                      e.printstacktrace();                 }               } 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -