Search code examples
androidsearchviewdeprecated

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() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item){
                isSearch = true;
                return true;
            }
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item){
                isSearch = false;
                return true;
            }
        });

It works. I'm happy with the way it responds. However, it it shows as deprecated, the setOnActionExpandListener is crossed out with the warning

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

Suggestions?


Solution

  • 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(new MenuItem.OnActionExpandListener() {
         @Override
          public boolean onMenuItemActionExpand(MenuItem menuItem) {
              isSearch = true;
              return true;
          }
    
          @Override
          public boolean onMenuItemActionCollapse(MenuItem menuItem) {
               isSearch = false;
               return true;
          }
    });