MenuItemCompat.setOnActionExpandListener deprecated

≡放荡痞女 提交于 2019-11-28 09:20:28

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;
      }
});

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

        @Override
        public boolean onMenuItemActionCollapse(MenuItem menuItem) {
            isSearch = false;
            return true;
        }
    });

Bonus

setting OnQueryTextListener and OnCloseListener

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

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

     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {

          //Do something

            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            return false;
        }
    });

    searchView.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {

        // do something
            return false;
        }
    });
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!