geolocation - Android using AutoCompleteTextView with Location suggestions (Using Geocoder and getFromLocationName()) -


i have autocompletetextview want search locations, example: type "vig" , autocompletetextview list shows 5 best results that: "4560 vig", "juan pablo perez..", "the vig 4041...", "vig" example, type "vigo": says right place: "vigo, pontevedra" , can select , put on autocompletetextview.

for now, have working have 1 error:

  1. the display list showing when delete on character, if not doesn't show, , shows last string result, example: have typed "vigo", , nothing appears, delete "o" , display list shows results "vigo" instead of "vig", typed in autocompletetextview in moment.

i perform search locations in asynctask:

private class searchaddress extends asynctask<string, void, string[]> {       @override      protected string[] doinbackground(string... params) {          //adapter.clear();          string[] addressarray = getstreetlist(query);              return addressarray;      }          @override      protected void onpostexecute(string[] addressarray) {          if(addressarray == null)              toast.maketext(newrouteactivity.this, "no address obtained server", toast.length_short).show();          else{             adapter.clear();             for(string address: addressarray){                 adapter.add(address); <------here 2nd error                 log.d("async", address);              }          }      }       @override      protected void onpreexecute() {}      @override      protected void onprogressupdate(void... values) {} } 

here autocompletetextview code:

string[] array = {};     adapter = new arrayadapter<string>(this, android.r.layout.simple_spinner_dropdown_item, array);//simple_dropdown_item_1line autofrom.setadapter(adapter); autoto.setadapter(adapter); asyncsearch = new searchaddress(); autofrom.addtextchangedlistener(new textwatcher() {     @override     public void aftertextchanged(editable s) {}     @override     public void beforetextchanged(charsequence s, int start, int count, int after) {}     @override     public void ontextchanged(charsequence s, int start, int before, int count) {         if (((autocompletetextview) autofrom).isperformingcompletion()) {return;}         if (s.length() < 2) {             return;         }else{             query = s.tostring();             if (asyncsearch.getstatus().equals(asynctask.status.finished)){                 asyncsearch = new searchaddress();                 asyncsearch.execute(query);                 log.d("async", "finish good");                 log.d("async", query);             }else{                 log.d("async", "cancel");                 asyncsearch.cancel(false);                 asyncsearch = new searchaddress();                 asyncsearch.execute(query);             }             return;         }     } }); 

i hope enough, getstreetlist() working good, giving results. if need else ask.

thanks in advance!!!

i don't know if going you, i've had problems textwatcher , autocompletetextview. should using filter on adapter , not textwatcher.

a implementation of google places + autocompletetextview google:

https://developers.google.com/places/training/autocomplete-android


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -