Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android SearchView widget: setIconified[ByDefault or not](false) not working

I have set up a Toolbar and within, a SearchView widget. The XML of this Toolbar's menu is the following:

<item android:id="@+id/searchView"
    android:title="@string/search_title"
    android:icon="@drawable/ic_baseline_search_24px"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="collapseActionView|ifRoom" />

On the fragment which has this Toolbar, I have overrided its method onCreateOptionsMenu to display the Toolbar and to configure SearchView.

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater menu_inflater) {
    menu_inflater.inflate(R.menu.action_bar_menu, menu);
    super.onCreateOptionsMenu(menu,menu_inflater);

    AppCompatActivity app_compat_activity = (AppCompatActivity) getActivity();
    SearchView search_view = (SearchView) menu.findItem(R.id.searchView).getActionView();
    search_view.setIconified(false);
    search_view.setIconifiedByDefault(false);
    search_view.clearFocus();
    SearchManager search_manager = (SearchManager) Objects.requireNonNull(app_compat_activity).getSystemService(Context.SEARCH_SERVICE);
    search_view.setSearchableInfo(Objects.requireNonNull(search_manager).getSearchableInfo(app_compat_activity.getComponentName()));
}

My aim is that the SearchView expands (filling all the Toolbar's width). The above code doesn't work.

like image 505
JarsOfJam-Scheduler Avatar asked Nov 22 '25 12:11

JarsOfJam-Scheduler


1 Answers

Change

app:showAsAction="collapseActionView|ifRoom" 

to

app:showAsAction="always"

Remove search_view.clearFocus();

like image 123
Zaid Mirza Avatar answered Nov 25 '25 02:11

Zaid Mirza



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!