Se necesitan dos pasos.
Primero, debe asegurarse de que el elemento del menú de búsqueda siempre se muestre como una acción y nunca se mueva al menú de desbordamiento. Para lograr este conjunto de atributos del elemento del menú de búsqueda showAsAction
a always
:
<item
android:id="@+id/menu_search"
android:title="Search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
En segundo lugar, asegúrese de que la acción de la vista no se muestra en iconizada (es decir, se derrumbó) el modo por defecto. Para hacer esta llamada setIconifiedByDefault(false)
a su búsqueda instancia de vista:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my_activity, menu);
MenuItem searchViewItem = menu.findItem(R.id.menu_search);
SearchView searchView = (SearchView) searchViewItem.getActionView();
[...]
searchView.setIconifiedByDefault(false);
return true;
}
Eso debería hacerlo.
obteniendo NPE en esta línea searchView.setIconifiedByDefault he utilizado este código SearchView searchView = (SearchView) menu.findItem (R.id.menu_search) .getActionView(); searchView.setIconifiedByDefault (falso); – Erum
Pruebe obtener SearchView por MenuItemCompat.getActionView (menu.findItem (R.id.menu_search)) si está utilizando AppCompat SearchView –