android - Spinner object doesn't take second input once a process is being executed -


i working on finance app populating exchange currecny value using yahoo finance api , here implementation

void currency_widget() {     from.setadapter(new currencylistadapter(getactivity(), r.layout.country_list_item, recourselist));     from.setonitemselectedlistener(new adapterview.onitemselectedlistener() {         @override         public void onitemselected(adapterview<?> adapterview, view view, int i, long l) {             string m = (string) array.get(recourselist, i);             string[] ma = m.split(",");             locale locale = new locale("en_us", ma[1]);             c2 = currency.getinstance(locale);         }          @override         public void onnothingselected(adapterview<?> adapterview) {         }     });       to.setadapter(new currencylistadapter(getactivity(), r.layout.country_list_item, recourselist));     to.setonitemselectedlistener(new adapterview.onitemselectedlistener() {         @override         public void onitemselected(adapterview<?> adapterview, view view, int i, long l) {             string m = (string) array.get(recourselist, i);             string[] ma = m.split(",");             locale locale = new locale("en_us", ma[1]);             c1 = currency.getinstance(locale);         }          @override         public void onnothingselected(adapterview<?> adapterview) {         }     });   }  public class connection extends asynctask {     @override     protected object doinbackground(object... arg0) {         connect();         return null;     }      private void connect() {         try {             string = c2 + "" + c1 + "=" + "x";             // fxquote ab=yahoofinance.getfx(fxsymbols.)             fxquote usdeur = null;             try {                 usdeur = yahoofinance.getfx(as);                 edittxt.settext("" + usdeur);             } catch (exception e) {                 e.printstacktrace();                 edittxt.settext("no internet connection");             }         } catch (exception e) {             e.printstacktrace();         }     } } 

in have 2 spinner object allows user select desired currency from first spinner object , to second spinner object.

this far works fine expected. the problem arises when click button , execute operation

get.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view view) {             new connection().execute(); //todo spinner won't take second time input         }     }); 

it display value too, if try change spinner items second time not reflect i.e lets clicked on spinner , drop down menu appeared , changed value won't show item selection process done , dropdown button closed hence spinner items fix first position

solved

changed code per answer received , worked

@override     protected object doinbackground(object... arg0) {        // connect();         string = c2 + "" + c1 + "=" + "x";        // fxquote usdeur = yahoofinance.getfx(as);         return yahoofinance.getfx(as);     }      @override     protected void onpostexecute(object o) {         super.onpostexecute(o);         try {             edittxt.settext("" + o);         } catch (exception e) {             e.printstacktrace();             edittxt.settext("no internet connection");         }     } 

i didnt checked code saw calling

edittxt.settext("no internet connection"); on doinbackground() wrong.

you have settext on postexecute() runs on ui-thread.

return usdeur on doinbackground() , settext on postexecute()


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -