code: public <T extends ListAdapter & Filterable> void setAdapter(T adapter) {
          if(mAutoCompleteMode == AUTOCOMPLETE_MODE_NONE)
              return;
          ((AutoCompleteTextView)mInputView).setAdapter(adapter);
      }
docs: <p>Changes the list of data used for auto completion. The provided list
  must be a filterable list adapter.</p>
  
  <p>The caller is still responsible for managing any resources used by the adapter.
  Notably, when the AutoCompleteTextView is closed or released, the adapter is not notified.
  A common case is the use of {@link CursorAdapter}, which
  contains a {@link android.database.Cursor} that must be closed.  This can be done
  automatically (see
  {@link android.app.Activity#startManagingCursor(android.database.Cursor)
  startManagingCursor()}),
  or by manually closing the cursor when the AutoCompleteTextView is dismissed.</p>
  
  <p>Only work when autoComplete mode is {@link #AUTOCOMPLETE_MODE_SINGLE} or {@link #AUTOCOMPLETE_MODE_MULTI}</p>
  
  @param adapter the adapter holding the auto completion data
  
  @see #getAdapter()
  @see Filterable
  @see ListAdapter