MenuItemCompat.setOnActionExpandListener deprecated

前端 未结 2 1714
臣服心动
臣服心动 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:04

    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;
          }
    });
    
    0 讨论(0)
  • 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;
            }
        });
    
    0 讨论(0)
提交回复
热议问题