Existe este widget para ActionBar que se llama 'SearchView'. Cuando no está en uso, se ve así:

Y cuando está en uso, se ve así:

Quiero (programáticamente por supuesto) abrir la vista de búsqueda (hacerla "en uso").
Probé varias funciones como:
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setOnQueryTextListener(this);
searchView.performClick();
searchView.requestFocus();
Pero ninguno de esos funcionó ...
SearchView en el XML:
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />
java
android
android-actionbar
Eli Revah
fuente
fuente

showAsAction="always"hace que el icono de búsqueda permanezca en la barra de acciones cuando se expande, lo que no se parece a la apariencia cuando se enfoca la búsqueda manualmente.Intente llamar
expandActionView()a MenuItem, no a onActionViewExpanded () en ActionView.Esto funciona para mi.
fuente
showAsAction: alwaysque causa algunos problemas.Si desea utilizar la biblioteca de soporte solo cuando sea necesario, haga esto
si no, simplemente haz esto
fuente
Se que esto es tarde pero
Intente llamar a expandActionView () para abrirlo y collapseActionView () para cerrarlo. Puede llamar a requestFocus () en la Vista de acción real a través de getActionView () para dar el enfoque de la vista de búsqueda :)
fuente
Ampliando la respuesta de Matthias Robberts:
Quería un fragmento de lista para mantener su valor de búsqueda y configurarlo después de que el usuario regrese de otro fragmento.
y para el menú que guardo
always|collapseActionView, de lo contrario, permanece abierto cuando el usuario elimina el texto.fuente
Para abrir un
searchViewmantenimientoclose_buttonal final, use esto enonCreate: -fuente