Wednesday 15 August 2012

android - ProgressDialog cannot stop when load JSON -



android - ProgressDialog cannot stop when load JSON -

please help, i've given on finding solution info json in arraylist, nil error found progressdialog can't stop loading. i'm set pg.dismis in postexecute adapter cannot changed.

private static list<datavoucher> processresponse(string response) { list<datavoucher> list = new arraylist<datavoucher>(); seek { jsonobject jsonobj = new jsonobject(response); jsonarray jsonarray = jsonobj.getjsonarray("produk"); log.d(tag, "data lengt: " + jsonarray.length()); datavoucher datavoucher = null; (int = 0; < jsonarray.length(); i++) { jsonobject obj = jsonarray.getjsonobject(i); datavoucher = new datavoucher(); datavoucher.setkode(obj.getstring("kode")); datavoucher.sethrg(obj.getstring("hrg")); datavoucher.setnom(obj.getstring("nom")); datavoucher.setket(obj.getstring("ket")); list.add(datavoucher); listvoucher.add(obj.getstring("nom")); } } grab (jsonexception e) { log.d(tag, e.getmessage()); } homecoming list; } public static string requestdatavoucher(final string operator) { final string tag = "send json"; thread thread = new thread() { public void run() { looper.prepare(); jsonobject jsonobjsend = new jsonobject(); seek { jsonobjsend.put("type", "svoc"); jsonobjsend.put("hp", "089631633614"); jsonobjsend.put("opr", operator); log.i(tag, jsonobjsend.tostring(2)); } grab (jsonexception e) { e.printstacktrace(); } sendhttppost(jsonobjsend); looper.loop(); } }; thread.start(); homecoming tag; } private class mainactivityasync extends asynctask<string, void, string> { @override protected void onpreexecute() { progressdialog = new progressdialog(mainactivity.this); progressdialog.setmessage("retrieving..."); progressdialog.setindeterminate(false); progressdialog.setcancelable(false); progressdialog.show(); } @override protected string doinbackground(string... params) { string response = requestdatavoucher(pilihoperator .getselecteditem().tostring()); list = processresponse(response); homecoming null; } @override protected void onpostexecute(string result) { adapter = new arrayadapter<string>(mainactivity.this, android.r.layout.simple_spinner_item, listvoucher); adapter.setdropdownviewresource(android.r.layout.simple_dropdown_item_1line); pilihvoucher.setadapter(adapter); adapter.notifydatasetchanged(); if (!adapter.isempty()) { progressdialog.dismiss(); } // annoying } }

adapter = new arrayadapter(mainactivity.this, android.r.layout.simple_spinner_item, listvoucher);

i think u mean adapter = new arrayadapter(mainactivity.this, android.r.layout.simple_spinner_item, list);

btw dismiss ur progressdialog @ onpostexecute() not checking , maybe warn user if list empty evade these problems.

android json android-asynctask spinner progressdialog

No comments:

Post a Comment