Anyone ?

On Nov 25, 8:56 am, Derek <[email protected]> wrote:
> Same problem here.
> Any solution ?
>
> I've tried to add
> textView.performValidation();
> textView.showDropDown();
>
> but it does not display drop down.
>
> On Nov 4, 6:42 pm, Tim <[email protected]> wrote:
>
> > I've posted this in a couple of places without any help so hopefully
> > this group has some helpful people :)
>
> > I have anAutoCompleteTextViewwhich I want to populate with artist
> > names based on what the user types.
>
> > The problem is that I have a thread for retrieving the names from
> > awebservice, but when I try and update the ArrayAdapter with a
> > Handler on the
> > UI thread (which is called from thewebservice thread), nothing gets
> > updated on screen.
> > When I type another letter though, then the previous results fromweb
> > service are displayed in theautocompletetextviewrather than the
> > latest.
>
> > 1) Type 'abc'
> > 2)WebService gets 'abc1', 'abc2' and 'abc3' and calls Handler to
> > notify GUI thread
> > 3) Set 'abc1', 'abc2' and 'abc3' on adapter using adapter.add(str)
> > 4) Call notifyDataSetChanged()
> > 5) Nothing changes on GUI :(
> > 6) Type another letter so textview reads 'abc1'
> > 7)WebService retrieves 'abc1x', 'abc1y' and 'abc1z' and calls
> > Handler to notify GUI thread
> > 8) Set 'abc1x', 'abc1y' and 'abc1z' results on the adapter
> > 9) Call notifyDataSetChanged()
> > 10) GUI now shows 'abc1' (From step 3)
>
> > Here is my code:
>
> > public void onCreate(Bundle savedInstanceState) {
> > ...
> >                AutoCompleteTextViewactv = (AutoCompleteTextView)
> > findViewById
> > (R.id.artist_search_text_edit);
> >                 actv.addTextChangedListener(textWatcher);
> >                 adapter = new ArrayAdapter<String>(this,
> > android.R.layout.simple_dropdown_item_1line, new ArrayList<String>());
> >                 actv.setAdapter(adapter);
>
> >         }
>
> > TextWatcher textWatcher = new TextWatcher() {
>
> >                 @Override
> >                 public void onTextChanged(CharSequence s, int start,
> > int before, int
> > count) {
> >                         Thread t = new Thread() {
> >                                 public void run() {
> >                                         ArrayList<String> names =
> > (ArrayList<String>) getArtistStrings
> > (getInput());
> >                                         artistNames = names;
> >                                         messageHandler.sendEmptyMessage
> > (0);
> >                                 }
> >                         };
> >                         t.start();
> >                 }
>
> >                 @Override
> >                 public void beforeTextChanged(CharSequence s, int
> > start, int count,
> > int after) {
> >                 }
>
> >                 @Override
> >                 public void afterTextChanged(Editable s) {
> >                 }
> >         };
>
> > private String getInput() {
> >                 EditText artistInput = (EditText) findViewById
> > (R.id.artist_search_text_edit);
> >                 String artistSearchString = artistInput.getText
> > ().toString();
> >                 return artistSearchString;
> >         }
>
> > private void updateTextAdapter(List<String> data) {
> >                 adapter.clear();
> >                 for (String artistName : data) {
> >                         adapter.add(artistName);
> >                 }
> >                 adapter.notifyDataSetChanged();
> >         }
>
> >         private Handler messageHandler = new Handler() {
>
> >                 @Override
> >                 public void handleMessage(Message msg) {
> >                         updateTextAdapter(artistNames);
> >                 }
>
> >         };
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to