android - studio - searchview events
SearchView utilizando AppCompat (2)
Debe usar los métodos estáticos en MenuItemCompat
para tratar todos los elementos del menú AppCompat. Esto se mencionó en esta publicación del blog como el último elemento en "Nueva integración". Simplemente reemplace su declaración SearchView
con lo siguiente.
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
Aquí hay un enlace a la documentación de MenuItemCompat .
Edición: asumí que está usando la última versión de AppCompat con el soporte para el nuevo widget de la Toolbar
.
Implementé SearchView en Actionbar antes de usar appcompat.v7, pero cuando quiero usar SearchView con la biblioteca de soporte v7, se muestra una excepción nula.
En estilo
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="always|collapseActionView"
android:actionViewClass="android.support.v7.widget.SearchView" />
En Java Class:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setOnQueryTextListener(this);
return super.onCreateOptionsMenu(menu);
}
Mi pregunta es ¿cómo declarar SearchView en onCreateOptionsMenu para poder configurar la escucha de consultas?
Si cambia android:actionViewClass
a app:actionViewClass
su código existente seguirá funcionando.