How to cancel volly request in android? -


i have activity contain listview when user scrolldown request sent server more data request sent parameter count=5(it static) , last=5 , again on scroll down last becomes 10 , want when server response "no item" want cancel volley requeston listview scroll down.how can that

code listview scroll down;

@override public void onscrollstatechanged(abslistview view, int scrollstate) {     if (scrollstate == abslistview.onscrolllistener.scroll_state_idle && bbottomofview) {         log.i("listview", "scrolling stopped...");         if (networkutil.isconnected(getactivity())) {             m_n_defaultrecordcount = 5;// increment of record count 5 on next load data             m_n_deafalutlastcount = m_n_deafalutlastcount + 5;// same here.....as above              sz_recordcount = string.valueof(m_n_defaultrecordcount);// convert int value string             sz_lastcount = string.valueof(m_n_deafalutlastcount);// convert int value string /////             log.e(tag, "last count::" + sz_lastcount);             log.e(tag, "record count::" + sz_recordcount);               loadmoredata();           } else {             csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "please check internet connection !", getactivity());             m_listview.removefooterview(mfooter);         }      } } 

and code load more data

public void loadmoredata() {      try {         string json;         // 3. build jsonobject         final jsonobject jsonobject = new jsonobject();// making object of jsons.         jsonobject.put("agentcode", m_szmobilenumber);// put mobile number         jsonobject.put("pin", m_szencryptedpassword);// put password         jsonobject.put("recordcount", sz_recordcount);// put record count         jsonobject.put("lastcountvalue", sz_lastcount);// put last count         log.d("capplist:", sz_recordcount);         log.d("capplist:", sz_lastcount);         // 4. convert jsonobject json string         json = jsonobject.tostring();// convert json object  string         log.i(tag, "server request:-" + json);         requestqueue = volley.newrequestqueue(getactivity());         final string m_deallistingurl = "http://202.131.144.1:8080/json/metallica/getdeallistinjson";          jsonobjectrequest = new jsonobjectrequest(request.method.post, m_deallistingurl, jsonobject, new response.listener<jsonobject>() {             @override             public void onresponse(jsonobject response) {                 log.i(tag, "server response:-" + response);                 try {                     int nresultcodefromserver = integer.parseint(response.getstring("resultcode"));                     if (nresultcodefromserver == m_transaction_successful) {                         jsonarray posts = response.optjsonarray("deallist");// getting deal list                         (int = 0; < posts.length(); i++) {                             jsonobject post = posts.getjsonobject(i);// getting deal @ position @                             item = new cdealappdatastorage();// object create of dealappdatastorage                             item.setm_szheadertext(post.getstring("dealname"));//getting deal name                             item.setm_szsubheadertext(post.getstring("dealcode"));// getting deal code                             item.setm_szdealvalue(post.getstring("dealvalue"));                              if (!s_odataset.contains(item)) {                                 s_odataset.add(item);                             }                         }                         m_oadapter.notifydatasetchanged();                     }                     if (nresultcodefromserver == m_kconnection_lost) {//server based conditions                         csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "connection lost !", getactivity());                     } else if (nresultcodefromserver == m_kdeal_not_found) {// serevr based conditions .....                         csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "no more deals available", getactivity());                          if (m_listview.getfooterviewscount() != 0) {                             m_listview.removefooterview(mfooter);                         }                      } else if (nresultcodefromserver == m_ktechnical_failure) {                         csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "technical failure", getactivity());                     } else if (nresultcodefromserver == m_kalready_avail_benefit) {                         csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "you have avail benefit of deal", getactivity());                     } else if (nresultcodefromserver == m_ktimed_out) {                         csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "timed out", getactivity());                     }                 } catch (jsonexception e) {                     e.printstacktrace();                 }             }         }, new response.errorlistener() {             @override             public void onerrorresponse(volleyerror error) {                 system.out.println("error:-" + error);                 if (error instanceof timeouterror) {                     csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "connection lost ! please try again", getactivity());                 } else if (error instanceof networkerror) {                     csnackbar.getinstance().showsnackbarerror(m_main.findviewbyid(r.id.mainlayout), "no internet connection", getactivity());                 }             }         });         requestqueue.add(jsonobjectrequest);     } catch (jsonexception e) {         e.printstacktrace();     } } 

you can cancel request below

you have add tag every request can cancel request particular tag.

public static final string tag = "mytag"; stringrequest stringrequest; // assume exists. requestqueue mrequestqueue;  // assume exists.  // set tag on request. stringrequest.settag(tag);  // add request requestqueue. mrequestqueue.add(stringrequest); 

cancel

mrequestqueue.cancelall(tag);

see how cancel volley request


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -