Skip to content Skip to sidebar Skip to footer

Menuitemcompat.setonactionexpandlistener Deprecated

I have some code that sets a boolean if the search view is open or not. MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {

Solution 1:

android.support.v4.view.MenuItemCompat.setOnActionExpandListener is deprecated

Yes MenuItemCompat.setOnActionExpandListener This method was deprecated in API level 26.1.0.

Suggestions?

Use MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener) directly.

  • MenuItemCompat.OnActionExpandListener on this menu item to be notified when the associated action view is expanded or collapsed. The menu item must be configured to expand or collapse its action view using the flag SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW.

SAMPLE CODE

MenuItem item = menu.findItem(R.id.action_order);
item.setOnActionExpandListener(newMenuItem.OnActionExpandListener() {
     @OverridepublicbooleanonMenuItemActionExpand(MenuItem menuItem) {
          isSearch = true;
          returntrue;
      }

      @OverridepublicbooleanonMenuItemActionCollapse(MenuItem menuItem) {
           isSearch = false;
           returntrue;
      }
});

Solution 2:

This interface was deprecated in API level 26.1.0.

Instead of MenuItemCompat.OnActionExpandListener

Use MenuItem.OnActionExpandListener directly.

Official Documentation

Sample:

MenuItem menuItemSearch = menu.findItem(R.id.action_search);

     menuItemSearch.setOnActionExpandListener(newMenuItem.OnActionExpandListener() {
        @OverridepublicbooleanonMenuItemActionExpand(MenuItem menuItem) {
            isSearch = true;
            returntrue;
        }

        @OverridepublicbooleanonMenuItemActionCollapse(MenuItem menuItem) {
            isSearch = false;
            returntrue;
        }
    });

Bonus

setting OnQueryTextListener and OnCloseListener

MenuItem menuItemSearch = menu.findItem(R.id.action_search);

  final SearchView searchView = (SearchView) menuItemSearch.getActionView();

     searchView.setOnQueryTextListener(newSearchView.OnQueryTextListener() {
        @OverridepublicbooleanonQueryTextSubmit(String s) {

          //Do somethingreturnfalse;
        }

        @OverridepublicbooleanonQueryTextChange(String s) {
            returnfalse;
        }
    });

    searchView.setOnCloseListener(newSearchView.OnCloseListener() {
        @OverridepublicbooleanonClose() {

        // do somethingreturnfalse;
        }
    });

Post a Comment for "Menuitemcompat.setonactionexpandlistener Deprecated"