MenuItemCompat.setOnActionExpandListener deprecated

前端 未结 2 1717
臣服心动
臣服心动 2020-12-09 18:00

I have some code that sets a boolean if the search view is open or not.

MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnAction         


        
2条回答
  •  旧巷少年郎
    2020-12-09 18:28

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

提交回复
热议问题