android - Calling an AsyncTask twice behavior -


i trying implement search bar automatically searches type.

my idea have asynctask fetches search data server, can't figure how asynctask behave use of it.

let's have searchasynctask.

every time text field edited call

new searchasynctask().execute(params); 

so here's question: behavior of be? starting many different threads return , call onpostexecute()? or first task called stopped mid-task if instance called while it's still working? or totally different?

what if write way?

searchasynctask = new searchasynctask().execute(params); ... a.execute(params2); a.execute(params3); ... 

i have implemented app's search function in same way. use textwatcher build search results , when user types. keep reference of asynctask achieve this. asynctask declaration:

searchtask mysearchtask = null;  // declared @ base level of activity 

then, in textwatcher, on each character input, following:

// s.tostring() user input if (s != null && !s.tostring().equals("")) {      // user has input characters      // check if asynctask has not been initialised yet     if (mysearchtask == null) {          mysearchtask = new searchtask(s.tostring());      } else {          // asynctask either running or has finished, try cancel in case         mysearchtask.cancel(true);          // prepare new asynctask updated input                     mysearchtask = new searchtask(s.tostring());      }      // execute asynctask                     mysearchtask.execute();  } else {      // user has deleted search string // search box has empty string ""      if (mysearchtask != null) {          // cancel asynctask          mysearchtask.cancel(true);      }      // clean              // clear results list     sresultslist.clear();      // update ui             sresultadapter.notifydatasetchanged();  } 

Comments

Popular posts from this blog

curl - PHP fsockopen help required -

HTTP/1.0 407 Proxy Authentication Required PHP -

c# - Resource not found error -