java - Cannot pass data from asyncTask to my activity -


in searchactivity: declared background worker class connect remote mysql database , data

protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_search);      backgroundworker worker = new backgroundworker(searchactivity.this);     worker.execute("searchfirst");     ////////// message empty below toast.maketext(searchactivity.this,getintent().getextras().getstring("searchresult"),toast.length_short).show(); } 

in backgroundworker.class, backgroundworker class did data fails pass activity

protected void onpostexecute(wrapper w) {     else if(w.result.contains("searchfirst successfully!")){         ////////// message can showed correctly here toast.maketext(context,w.result.tostring(),toast.length_short).show();          intent colleges = new intent(context,searchactivity.class);         colleges.putextra("searchresult", w.result);     } } 

also found out if put data intent , start activity immedicately calling startactivity(intent) in onpostexecute(), data can passed intent, however, if did not start activity, data lost?

you can add lines:

intent intent = new intent("myaction"); intent.putextra("searchresult", w.result); sendbroadcast(intent); 

then register broadcast reciever in activity:

registerreceiver(new broadcastreceiver() {             @override             public void onreceive(context context, intent intent) {                 object result = intent.getextras().get("searchresult");             }         }, new intentfilter("myaction")); 

besides, can define listener interface , pass async task, call listener's method in onpostexecute() method. there no need calling intent way.


Comments

Popular posts from this blog

android - net_scheduler holding wakelock -

sql - MySQL : Getting Entries from a many-to-many table -

java - Retrieving data from database using jsp (Hibernate + Spring + Maven) -