2011-09-17 19 views
16

tengo un elemento de menú como parte de mi menú de la barra de acción, y yo soy la creación de la clase de vista de acción para el widget de búsqueda de este modo:Ajuste texto de sugerencia para el widget de búsqueda cuando se utiliza como parte del menú

<item android:id="@+id/menu_search" 
     android:title="Search" 
     android:icon="@drawable/ic_menu_search" 
     android:showAsAction="always" 
     android:actionViewClass="android.widget.SearchView" /> 

Esto hace que el widget de búsqueda aparezca cuando se hace clic; sin embargo, quiero que siempre esté visible, y también quiero poder configurar la consulta, etc.

Cuando intento llamar al SearchView searchItem = (SearchView) menu.findItem(R.id.menu_search) para obtener una referencia a él, arroja un error ya que el elemento no se puede convertir a SearchView.

Respuesta

10

Esto hará que el cuadro de búsqueda ActionView siempre muestran, por defecto:

searchView.setIconifiedByDefault(false); 

Esto le dice al cuadro de búsqueda para ser ampliado siempre. Iconificado significa que debe tocar el icono para que aparezca el cuadro de búsqueda.

2

Probar getActionView; FindItem devuelve un Menultem, no la vista que utiliza

(SearchView)menu.findItem(R.id.menu_search).getActionView() 
+0

th ¡anks, eso funcionó! ¿Sabes cómo mostrar siempre la vista de acción en vez de solo cuando se presiona el elemento del menú? – jcvandan

+0

Lo siento, no estoy seguro de lo que quieres decir. ¿Puedes explicar lo que está sucediendo ahora? –

85

Puede configurar texto de sugerencia a SearchVIEW mediante la API setQueryHint (pista CharSequence)

SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); 
searchView.setQueryHint("Query Hint"); 

Refer the documentation

0

API de nivel mínimo debe ser de 11 a continuación, no se mostrará el error

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="18" /> 
Cuestiones relacionadas