to top
Android APIs
public class

SearchView

extends LinearLayout
implements CollapsibleActionView
java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.LinearLayout
         ↳ android.support.v7.widget.SearchView

Class Overview

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.

Note: This class is included in the support library for compatibility with API level 7 and higher. If you're developing your app for API level 11 and higher only, you should instead use the framework SearchView class.

When the SearchView is used in an ActionBar as an action view, it's collapsed by default, so you must provide an icon for the action.

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

Developer Guides

For information about using SearchView, read the Search API guide. Additional information about action views is also available in the <Action Bar API 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
Attribute Name Related Method Description
android:iconifiedByDefault setIconifiedByDefault(boolean) The default state of the SearchView. 
android:imeOptions setImeOptions(int) The IME options to set on the query text field. 
android:inputType setInputType(int) The input type to set on the query text field. 
android:maxWidth setMaxWidth(int) An optional maximum width of the SearchView. 
android:queryHint setQueryHint(CharSequence) An optional query hint string to be displayed in the empty query field. 
[Expand]
Inherited XML Attributes
From class android.widget.LinearLayout
From class android.view.ViewGroup
From class android.view.View
[Expand]
Inherited Constants
From class android.widget.LinearLayout
From class android.view.ViewGroup
From class android.view.View
[Expand]
Inherited Fields
From class android.view.View
Public Constructors
SearchView(Context context)
SearchView(Context context, AttributeSet attrs)
Public Methods
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()
Gets the hint text to display in the query text field.
CursorAdapter getSuggestionsAdapter()
Returns the adapter used for suggestions, if any.
boolean isIconfiedByDefault()
Returns the default iconified state of the search field.
boolean isIconified()
Returns the current iconified state of the SearchView.
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 onMeasure(int widthMeasureSpec, int heightMeasureSpec)

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

[Expand]
Inherited Methods
From class android.widget.LinearLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.support.v7.view.CollapsibleActionView
From interface android.view.KeyEvent.Callback
From interface android.view.ViewManager
From interface android.view.ViewParent