Hello people,

I write following application:
- there is an AutoCompleteTextView field
- as Adapter I'm using ArrayAdapter with ListArray
- the ListArray consists of some constant string item and one item,
which will be changed dynamically everytime user typed something in
the field

I took TextChangedListener to update this last list item. But it
seems, that update occurs only once.

I add a bit code of me. May be somebody can show me, what did i do
wrong.

Thank you in advance:

public class HelloListView extends Activity
{
    List<String> countryList = null;
    AutoCompleteTextView textView = null;
    ArrayAdapter adapter = null;

    static String[] COUNTRIES = new String[]
    {
          "Afghanistan", "Albania", "Algeria", "American Samoa",
"Andorra",
          "Yemen", "Yugoslavia", "Zambia", "Zimbabwe", ""
    };

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        countryList = Arrays.asList(COUNTRIES);

        textView = (AutoCompleteTextView) findViewById(R.id.edit);
        adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, countryList);
        adapter.notifyDataSetChanged();
        textView.setAdapter(adapter);
        textView.setThreshold(1);

        textView.addTextChangedListener(new TextWatcher()
        {

            public void onTextChanged(CharSequence s, int start, int
before, int count)
            {
                countryList.set(countryList.size()-1, "User input:" +
textView.getText());
            }

            public void beforeTextChanged(CharSequence s, int start,
int count,
                    int after)
            {
            }

            public void afterTextChanged(Editable s)
            {
            }
        });

        new Thread()
        {
            public void run()
            {
                // Do a bunch of slow network stuff.
                update();
            }
        }.start();
    }

    private void update()
    {
        runOnUiThread(new Runnable()
        {
            public void run()
            {
                adapter.notifyDataSetChanged();
            }
        });
    }
}

-- 
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