java.lang.Object | ||||
↳ | android.view.View | |||
↳ | android.widget.TextView | |||
↳ | android.widget.EditText | |||
↳ | android.widget.AutoCompleteTextView |
Known Direct Subclasses |
An editable text view that shows completion suggestions automatically while the user is typing. The list of suggestions is displayed in a drop down menu from which the user can choose an item to replace the content of the edit box with.
The drop down can be dismissed at any time by pressing the back key or, if no item is selected in the drop down, by pressing the enter/dpad center key.
The list of suggestions is obtained from a data adapter and appears
only after a given number of characters defined by
the threshold
.
The following code snippet shows how to create a text view which suggests various countries names while the user is typing:
public class CountriesActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.countries); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, COUNTRIES); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.countries_list); textView.setAdapter(adapter); } private static final String[] COUNTRIES = new String[] { "Belgium", "France", "Italy", "Germany", "Spain" }; }
See the Text Fields guide.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AutoCompleteTextView.OnDismissListener | Listener to respond to the AutoCompleteTextView's completion list being dismissed. | ||||||||||
AutoCompleteTextView.Validator | This interface is used to make sure that the text entered in this TextView complies to a certain format. |
XML Attributes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
android:completionHint | setCompletionHint(CharSequence) | Defines the hint displayed in the drop down menu. | |||||||||
android:completionHintView | Defines the hint view displayed in the drop down menu. | ||||||||||
android:completionThreshold | setThreshold(int) | Defines the number of characters that the user must type before completion suggestions are displayed in a drop down menu. | |||||||||
android:dropDownAnchor | setDropDownAnchor(int) | View to anchor the auto-complete dropdown to. | |||||||||
android:dropDownHeight | setDropDownHeight(int) | Specifies the basic height of the dropdown. | |||||||||
android:dropDownHorizontalOffset | Amount of pixels by which the drop down should be offset horizontally. | ||||||||||
android:dropDownSelector | Selector in a drop down list. | ||||||||||
android:dropDownVerticalOffset | Amount of pixels by which the drop down should be offset vertically. | ||||||||||
android:dropDownWidth | setDropDownWidth(int) | Specifies the basic width of the dropdown. | |||||||||
android:popupBackground | setDropDownBackgroundResource(int) |
[Expand]
Inherited XML Attributes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.widget.TextView
| |||||||||||
From class
android.view.View
|
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.view.View
|
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.view.View
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Clear the list selection. | |||||||||||
Closes the drop down if present on screen. | |||||||||||
Returns
true if the amount of text in the field meets
or exceeds the getThreshold() requirement. | |||||||||||
Returns a filterable list adapter used for auto completion. | |||||||||||
Gets the optional hint text displayed at the bottom of the the matching list.
| |||||||||||
Returns the id for the view that the auto-complete drop down list is anchored to. | |||||||||||
Gets the background of the auto-complete drop-down list. | |||||||||||
Returns the current height for the auto-complete drop down list. | |||||||||||
Gets the horizontal offset used for the auto-complete drop-down list. | |||||||||||
Gets the vertical offset used for the auto-complete drop-down list. | |||||||||||
Returns the current width for the auto-complete drop down list. | |||||||||||
This method was deprecated
in API level 3.
Use
getOnItemClickListener() intead
| |||||||||||
This method was deprecated
in API level 3.
Use
getOnItemSelectedListener() intead
| |||||||||||
Get the position of the dropdown view selection, if there is one.
| |||||||||||
Returns the listener that is notified whenever the user clicks an item in the drop down list. | |||||||||||
Returns the listener that is notified whenever the user selects an item in the drop down list. | |||||||||||
Returns the number of characters the user must type before the drop down list is shown. | |||||||||||
Returns the Validator set with
setValidator(AutoCompleteTextView.Validator) ,
or null if it was not set. | |||||||||||
Identifies whether the view is currently performing a text completion, so subclasses
can decide whether to respond to text changed events.
| |||||||||||
Indicates whether the popup menu is showing. | |||||||||||
Called by the framework in response to a text completion from
the current input method, provided by it calling
InputConnection.commitCompletion() . | |||||||||||
Notifies the end of a filtering operation. | |||||||||||
Default implementation of
KeyEvent.Callback.onKeyDown() : perform press of the view
when KEYCODE_DPAD_CENTER or KEYCODE_ENTER
is released, if the view is enabled and clickable. | |||||||||||
Handle a key event before it is processed by any input method
associated with the view hierarchy.
| |||||||||||
Default implementation of
KeyEvent.Callback.onKeyUp() : perform clicking of the view
when KEYCODE_DPAD_CENTER or
KEYCODE_ENTER is released. | |||||||||||
Called when the window containing this view gains or loses focus.
| |||||||||||
Performs the text completion by converting the selected item from the drop down list into a string, replacing the text box's content with this string and finally dismissing the drop down menu. | |||||||||||
If a validator was set on this view and the current string is not valid,
ask the validator to fix it.
| |||||||||||
Changes the list of data used for auto completion. | |||||||||||
Sets the optional hint text that is displayed at the bottom of the the matching list. | |||||||||||
Sets the view to which the auto-complete drop down list should anchor. | |||||||||||
Sets the background of the auto-complete drop-down list. | |||||||||||
Sets the background of the auto-complete drop-down list. | |||||||||||
Sets the current height for the auto-complete drop down list. | |||||||||||
Sets the horizontal offset used for the auto-complete drop-down list. | |||||||||||
Sets the vertical offset used for the auto-complete drop-down list. | |||||||||||
Sets the current width for the auto-complete drop down list. | |||||||||||
Set the position of the dropdown view selection.
| |||||||||||
Register a callback to be invoked when this view is clicked.
| |||||||||||
Set a listener that will be invoked whenever the AutoCompleteTextView's
list of completions is dismissed.
| |||||||||||
Sets the listener that will be notified when the user clicks an item in the drop down list. | |||||||||||
Sets the listener that will be notified when the user selects an item in the drop down list. | |||||||||||
Like
setText(CharSequence) , except that it can disable filtering. | |||||||||||
Specifies the minimum number of characters the user has to type in the edit box before the drop down list is shown. | |||||||||||
Sets the validator used to perform text validation.
| |||||||||||
Displays the drop down on screen. |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Converts the selected item from the drop down list into a sequence of character that can be used in the edit box. | |||||||||||
Returns the Filter obtained from
getFilter() ,
or null if setAdapter(T) was not called with
a Filterable. | |||||||||||
This is called when the view is attached to a window.
| |||||||||||
This is called when the view is detached from a window.
| |||||||||||
Gives this view a hint about whether is displayed or not.
| |||||||||||
Called by the view system when the focus state of this view changes.
| |||||||||||
Starts filtering the content of the drop down list. | |||||||||||
Performs the text completion by replacing the current text by the selected item. | |||||||||||
Assign a size and position to this view.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.widget.EditText
| |||||||||||
From class
android.widget.TextView
| |||||||||||
From class
android.view.View
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
android.graphics.drawable.Drawable.Callback
| |||||||||||
From interface
android.view.KeyEvent.Callback
| |||||||||||
From interface
android.view.ViewTreeObserver.OnPreDrawListener
| |||||||||||
From interface
android.view.accessibility.AccessibilityEventSource
| |||||||||||
From interface
android.widget.Filter.FilterListener
|
Defines the hint displayed in the drop down menu.
Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol completionHint
.
Defines the hint view displayed in the drop down menu.
Must be a reference to another resource, in the form "@[+][package:]type:name
"
or to a theme attribute in the form "?[package:][type:]name
".
This corresponds to the global attribute
resource symbol completionHintView
.
Defines the number of characters that the user must type before completion suggestions are displayed in a drop down menu.
Must be an integer value, such as "100
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol completionThreshold
.
View to anchor the auto-complete dropdown to. If not specified, the text view itself is used.
Must be a reference to another resource, in the form "@[+][package:]type:name
"
or to a theme attribute in the form "?[package:][type:]name
".
This corresponds to the global attribute
resource symbol dropDownAnchor
.
Specifies the basic height of the dropdown. Its value may be a dimension (such as "12dip") for a constant height, fill_parent or match_parent to fill the height of the screen, or wrap_content to match the height of the content of the drop down.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
May be one of the following constant values.
Constant | Value | Description |
---|---|---|
fill_parent | -1 | The dropdown should fit the height of the screen.
This constant is deprecated starting from API Level 8 and
is replaced by match_parent . |
match_parent | -1 | The dropdown should fit the height of the screen. Introduced in API Level 8. |
wrap_content | -2 | The dropdown should fit the height of the content. |
This corresponds to the global attribute
resource symbol dropDownHeight
.
Amount of pixels by which the drop down should be offset horizontally.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol dropDownHorizontalOffset
.
Selector in a drop down list.
May be a reference to another resource, in the form "@[+][package:]type:name
"
or to a theme attribute in the form "?[package:][type:]name
".
May be a color value, in the form of "#rgb
", "#argb
",
"#rrggbb
", or "#aarrggbb
".
This corresponds to the global attribute
resource symbol dropDownSelector
.
Amount of pixels by which the drop down should be offset vertically.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute
resource symbol dropDownVerticalOffset
.
Specifies the basic width of the dropdown. Its value may be a dimension (such as "12dip") for a constant width, fill_parent or match_parent to match the width of the screen, or wrap_content to match the width of the anchored view.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
May be one of the following constant values.
Constant | Value | Description |
---|---|---|
fill_parent | -1 | The dropdown should fill the width of the screen.
This constant is deprecated starting from API Level 8 and
is replaced by match_parent . |
match_parent | -1 | The dropdown should fit the width of the screen. Introduced in API Level 8. |
wrap_content | -2 | The dropdown should fit the width of its anchor. |
This corresponds to the global attribute
resource symbol dropDownWidth
.
Clear the list selection. This may only be temporary, as user input will often bring it back.
Returns true
if the amount of text in the field meets
or exceeds the getThreshold()
requirement. You can override
this to impose a different standard for when filtering will be
triggered.
Returns a filterable list adapter used for auto completion.
Gets the optional hint text displayed at the bottom of the the matching list.
Returns the id for the view that the auto-complete drop down list is anchored to.
NO_ID
if none specifiedGets the background of the auto-complete drop-down list.
Returns the current height for the auto-complete drop down list. This can
be a fixed height, or MATCH_PARENT
to fill
the screen, or WRAP_CONTENT
to fit the height
of the drop down's content.
Gets the horizontal offset used for the auto-complete drop-down list.
Gets the vertical offset used for the auto-complete drop-down list.
Returns the current width for the auto-complete drop down list. This can
be a fixed width, or MATCH_PARENT
to fill the screen, or
WRAP_CONTENT
to fit the width of its anchor view.
This method was deprecated
in API level 3.
Use getOnItemClickListener()
intead
Returns the listener that is notified whenever the user clicks an item in the drop down list.
This method was deprecated
in API level 3.
Use getOnItemSelectedListener()
intead
Returns the listener that is notified whenever the user selects an item in the drop down list.
Get the position of the dropdown view selection, if there is one. Returns
ListView.INVALID_POSITION
if there is no dropdown or if
there is no selection.
ListView.INVALID_POSITION
if not.Returns the listener that is notified whenever the user clicks an item in the drop down list.
Returns the listener that is notified whenever the user selects an item in the drop down list.
Returns the number of characters the user must type before the drop down list is shown.
Returns the Validator set with setValidator(AutoCompleteTextView.Validator)
,
or null
if it was not set.
Identifies whether the view is currently performing a text completion, so subclasses can decide whether to respond to text changed events.
Indicates whether the popup menu is showing.
Called by the framework in response to a text completion from
the current input method, provided by it calling
InputConnection.commitCompletion()
. The default implementation does
nothing; text views that are supporting auto-completion should override
this to do their desired behavior.
completion | The auto complete text the user has selected. |
---|
Notifies the end of a filtering operation.
count | the number of values computed by the filter |
---|
Default implementation of KeyEvent.Callback.onKeyDown()
: perform press of the view
when KEYCODE_DPAD_CENTER
or KEYCODE_ENTER
is released, if the view is enabled and clickable.
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
keyCode | A key code that represents the button pressed, from
KeyEvent . |
---|---|
event | The KeyEvent object that defines the button action. |
Handle a key event before it is processed by any input method associated with the view hierarchy. This can be used to intercept key events in special situations before the IME consumes them; a typical example would be handling the BACK key to update the application's UI instead of allowing the IME to see it and close itself.
keyCode | The value in event.getKeyCode(). |
---|---|
event | Description of the key event. |
Default implementation of KeyEvent.Callback.onKeyUp()
: perform clicking of the view
when KEYCODE_DPAD_CENTER
or
KEYCODE_ENTER
is released.
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
keyCode | A key code that represents the button pressed, from
KeyEvent . |
---|---|
event | The KeyEvent object that defines the button action. |
Called when the window containing this view gains or loses focus. Note that this is separate from view focus: to receive key events, both your view and its window must have focus. If a window is displayed on top of yours that takes input focus, then your own window will lose focus but the view focus will remain unchanged.
hasWindowFocus | True if the window containing this view now has focus, false otherwise. |
---|
Performs the text completion by converting the selected item from the drop down list into a string, replacing the text box's content with this string and finally dismissing the drop down menu.
If a validator was set on this view and the current string is not valid, ask the validator to fix it.
Changes the list of data used for auto completion. The provided list must be a filterable list adapter.
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 CursorAdapter
, which
contains a Cursor
that must be closed. This can be done
automatically (see
startManagingCursor()
),
or by manually closing the cursor when the AutoCompleteTextView is dismissed.
adapter | the adapter holding the auto completion data |
---|
Sets the optional hint text that is displayed at the bottom of the the matching list. This can be used as a cue to the user on how to best use the list, or to provide extra information.
hint | the text to be displayed to the user |
---|
Sets the view to which the auto-complete drop down list should anchor. The view corresponding to this id will not be loaded until the next time it is needed to avoid loading a view which is not yet instantiated.
id | the id to anchor the drop down list view to |
---|
Sets the background of the auto-complete drop-down list.
d | the drawable to set as the background |
---|
Sets the background of the auto-complete drop-down list.
id | the id of the drawable to set as the background |
---|
Sets the current height for the auto-complete drop down list. This can
be a fixed height, or MATCH_PARENT
to fill
the screen, or WRAP_CONTENT
to fit the height
of the drop down's content.
height | the height to use |
---|
Sets the horizontal offset used for the auto-complete drop-down list.
offset | the horizontal offset |
---|
Sets the vertical offset used for the auto-complete drop-down list.
offset | the vertical offset |
---|
Sets the current width for the auto-complete drop down list. This can
be a fixed width, or MATCH_PARENT
to fill the screen, or
WRAP_CONTENT
to fit the width of its anchor view.
width | the width to use |
---|
Set the position of the dropdown view selection.
position | The position to move the selector to. |
---|
Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.
listener | The callback that will run |
---|
Set a listener that will be invoked whenever the AutoCompleteTextView's list of completions is dismissed.
dismissListener | Listener to invoke when completions are dismissed |
---|
Sets the listener that will be notified when the user clicks an item in the drop down list.
l | the item click listener |
---|
Sets the listener that will be notified when the user selects an item in the drop down list.
l | the item selected listener |
---|
Like setText(CharSequence)
, except that it can disable filtering.
filter | If false , no filtering will be performed
as a result of this call.
|
---|
Specifies the minimum number of characters the user has to type in the edit box before the drop down list is shown.
When threshold
is less than or equals 0, a threshold of
1 is applied.
threshold | the number of characters to type before the drop down is shown |
---|
Sets the validator used to perform text validation.
validator | The validator used to validate the text entered in this widget. |
---|
Converts the selected item from the drop down list into a sequence of character that can be used in the edit box.
selectedItem | the item selected by the user for completion |
---|
Returns the Filter obtained from getFilter()
,
or null
if setAdapter(T)
was not called with
a Filterable.
This is called when the view is attached to a window. At this point it
has a Surface and will start drawing. Note that this function is
guaranteed to be called before onDraw(android.graphics.Canvas)
,
however it may be called any time before the first onDraw -- including
before or after onMeasure(int, int)
.
This is called when the view is detached from a window. At this point it no longer has a surface for drawing.
Gives this view a hint about whether is displayed or not. For instance, when a View moves out of the screen, it might receives a display hint indicating the view is not displayed. Applications should not rely on this hint as there is no guarantee that they will receive one.
Called by the view system when the focus state of this view changes. When the focus change event is caused by directional navigation, direction and previouslyFocusedRect provide insight into where the focus is coming from. When overriding, be sure to call up through to the super class so that the standard focus handling will occur.
focused | True if the View has focus; false otherwise. |
---|---|
direction | The direction focus has moved when requestFocus()
is called to give this view focus. Values are
FOCUS_UP , FOCUS_DOWN , FOCUS_LEFT ,
FOCUS_RIGHT , FOCUS_FORWARD , or FOCUS_BACKWARD .
It may not always apply, in which case use the default. |
previouslyFocusedRect | The rectangle, in this view's coordinate
system, of the previously focused view. If applicable, this will be
passed in as finer grained information about where the focus is coming
from (in addition to direction). Will be null otherwise.
|
Starts filtering the content of the drop down list. The filtering
pattern is the content of the edit box. Subclasses should override this
method to filter with a different pattern, for instance a substring of
text
.
text | the filtering pattern |
---|---|
keyCode | the last character inserted in the edit box; beware that this will be null when text is being added through a soft input method. |
Performs the text completion by replacing the current text by the selected item. Subclasses should override this method to avoid replacing the whole content of the edit box.
text | the selected suggestion in the drop down list |
---|
Assign a size and position to this view. This is called from layout.
l | Left position, relative to parent |
---|---|
t | Top position, relative to parent |
r | Right position, relative to parent |
b | Bottom position, relative to parent |