setOnActionExpandListener和OnActionExpandListener不起作用

时间:2019-01-13 05:59:35

标签: android search actionlistener

Stackoverflow团队敬上

下面是我的搜索视图代码:

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 个答案:

答案 0 :(得分:0)

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

代替MenuItemCompat.OnActionExpandListener

直接使用MenuItem.OnActionExpandListener。

示例代码

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