I have a SearchView item in my menu:
<item
android:id="@+id/search_toolbar_main"
android:icon="@drawable/ic_search_black_24dp"
app:showAsAction="always|collapseActionView"
app:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="Search" />
Now I want to programmatically open the searchview and set text with searchView.setQuery(). But if I do searchView.setQuery() before user clicked the magnifier menuitem nothing happens.
You can call to expandActionView() method to focus it
@Override
public boolean onCreateOptionsMenu( Menu menu )
{
super.onCreateOptionsMenu( menu );
MenuItem searchMenuItem = menu.findItem( R.id.search_toolbar_main );
searchMenuItem.expandActionView(); // Expand the search menu item in order to show by default the query
return true;
}