When a user types something in AutoCompleteTextView, I am fetching data from database in async task. I have addTextChangedListener with TextWatcher in AutoCompleteTextView. The problem is that when 
the user selects an item from the suggested list, this data is entered into the text watcher but the drop down list even visible to the user. Because, when user select an item from drop down then TextWatcher.onTextChanged() gets called again and this call send a new request. This happens for the first time an item selected, if the user clicks the item again, the dropdown list won't show up. 

So how to hide this drop down list when user select an item from the suggested list for the first time?

I have done this: 

```
autoComplete = (AutoCompleteTextView) findViewById(R.id.my_text);

     final TextWatcher yourTextWatcher = new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
            Log.d(TAG, "afterTextChanged:" + s.toString());
            afterTextChanged = s.toString();
        }

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

            Log.d(TAG, "beforeTextChanged:" + s.toString());
            beforeTextChanged = s.toString();
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            Log.e(TAG, "beforeTextChanged:" + beforeTextChanged + ",afterTextChanged:" + afterTextChanged + ",onTextChanged:" + s.toString());
            if (!beforeTextChanged.equals(s.toString())) {
                new doPopulate().execute(s.toString());
            }
        }
    };

```

**Logcat:** when an item is selected (Google) after typing "go"

```
beforeTextChanged:go
beforeTextChanged:go,afterTextChanged:go,onTextChanged:Google
afterTextChanged:Google

```