代码之家  ›  专栏  ›  技术社区  ›  user2201935

setOnActionExpandListener和OnActionExpandListener不工作

  •  1
  • user2201935  · 技术社区  · 7 年前

    嗨,我的团队,

    以下是“我的搜索代码”视图:

    private void setupSearchView(MenuItem searchItem) {
        MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item) {
                searchQuery = null;
                updateData();
                return true;
            }
            @Override
            public boolean onMenuItemActionExpand(MenuItem item) {
                return true;
            }
        });
        SearchManager searchManager = (SearchManager) (getSystemService(Context.SEARCH_SERVICE));
        searchView = (SearchView) searchItem.getActionView();
        if (searchView != null) {
            searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            searchView.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
            searchView.clearFocus();
            searchView.setOnQueryTextListener(onQueryTextListener);
        }
    }
    

    setOnActionExpandListener和OnActionExpandListener已被弃用,且不起作用。有人能帮我用代码修复它吗? 提前谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   milad salimi    7 年前

    此方法在API级别26.1.0中被弃用。

    示例代码

    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 也

    推荐文章