SearchView


public class SearchView
extends LinearLayout implements CollapsibleActionView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.LinearLayout
         ↳ android.widget.SearchView


A widget that provides a user interface for the user to enter a search query and submit a request to a search provider. Shows a list of query suggestions or results, if available, and allows the user to pick a suggestion or result to launch into.

When the SearchView is used in an ActionBar as an action view for a collapsible menu item, it needs to be set to iconified by default using setIconifiedByDefault(true). This is the default, so nothing needs to be done.

If you want the search field to always be visible, then call setIconifiedByDefault(false).

Developer Guides

For information about using SearchView, read the Search developer guide.

Summary

Nested classes

interface SearchView.OnCloseListener

 

interface SearchView.OnQueryTextListener

Callbacks for changes to the query text. 

interface SearchView.OnSuggestionListener

Callback interface for selection events on suggestions. 

XML attributes

android:iconifiedByDefault The default state of the SearchView. 
android:imeOptions The IME options to set on the query text field. 
android:inputType The input type to set on the query text field. 
android:maxWidth An optional maximum width of the SearchView. 
android:queryHint An optional query hint string to be displayed in the empty query field. 

Inherited XML attributes

Inherited constants

Inherited fields

Public constructors

SearchView(Context context)
SearchView(Context context, AttributeSet attrs)
SearchView(Context context, AttributeSet attrs, int defStyleAttr)
SearchView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

CharSequence getAccessibilityClassName()

Return the class name of this object to be used for accessibility purposes.

int getImeOptions()

Returns the IME options set on the query text field.

int getInputType()

Returns the input type set on the query text field.

int getMaxWidth()

Gets the specified maximum width in pixels, if set.

CharSequence getQuery()

Returns the query string currently in the text field.

CharSequence getQueryHint()

Returns the hint text that will be displayed in the query text field.

CursorAdapter getSuggestionsAdapter()

Returns the adapter used for suggestions, if any.

boolean isIconfiedByDefault()

This method was deprecated in API level 29. use isIconifiedByDefault()

boolean isIconified()

Returns the current iconified state of the SearchView.

boolean isIconifiedByDefault()

Returns the default iconified state of the search field.

boolean isQueryRefinementEnabled()

Returns whether query refinement is enabled for all items or only specific ones.

boolean isSubmitButtonEnabled()

Returns whether the submit button is enabled when necessary or never displayed.

void onActionViewCollapsed()

Called when this view is collapsed as an action view.

void onActionViewExpanded()

Called when this view is expanded as an action view.

boolean onKeyDown(int keyCode, KeyEvent event)

Handles the key down event for dealing with action keys.

void onWindowFocusChanged(boolean hasWindowFocus)

Called when the window containing this view gains or loses focus.

void setIconified(boolean iconify)

Iconifies or expands the SearchView.

void setIconifiedByDefault(boolean iconified)

Sets the default or resting state of the search field.

void setImeOptions(int imeOptions)

Sets the IME options on the query text field.

void setInputType(int inputType)

Sets the input type on the query text field.

void setMaxWidth(int maxpixels)

Makes the view at most this many pixels wide

void setOnCloseListener(SearchView.OnCloseListener listener)

Sets a listener to inform when the user closes the SearchView.

void setOnQueryTextFocusChangeListener(View.OnFocusChangeListener listener)

Sets a listener to inform when the focus of the query text field changes.

void setOnQueryTextListener(SearchView.OnQueryTextListener listener)

Sets a listener for user actions within the SearchView.

void setOnSearchClickListener(View.OnClickListener listener)

Sets a listener to inform when the search button is pressed.

void setOnSuggestionListener(SearchView.OnSuggestionListener listener)

Sets a listener to inform when a suggestion is focused or clicked.

void setQuery(CharSequence query, boolean submit)

Sets a query string in the text field and optionally submits the query as well.

void setQueryHint(CharSequence hint)

Sets the hint text to display in the query text field.

void setQueryRefinementEnabled(boolean enable)

Specifies if a query refinement button should be displayed alongside each suggestion or if it should depend on the flags set in the individual items retrieved from the suggestions provider.

void setSearchableInfo(SearchableInfo searchable)

Sets the SearchableInfo for this SearchView.

void setSubmitButtonEnabled(boolean enabled)

Enables showing a submit button when the query is non-empty.

void setSuggestionsAdapter(CursorAdapter adapter)

You can set a custom adapter if you wish.

Protected methods

void onDetachedFromWindow()

This is called when the view is detached from a window.

void onLayout(boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children.

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

void onRestoreInstanceState(Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().

Parcelable onSaveInstanceState()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state.

Inherited methods