不推荐使用MenuItemCompat.setOnActionExpandListener

see*_*ess 10 android deprecated searchview

如果搜索视图是打开的,我有一些设置布尔值的代码.

MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item){
                isSearch = true;
                return true;
            }
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item){
                isSearch = false;
                return true;
            }
        });
Run Code Online (Sandbox Code Playgroud)

有用.我很满意它的反应方式.但是,它显示为已弃用,setOnActionExpandListener将与警告一起划掉

不推荐使用android.support.v4.view.MenuItemCompat.setOnActionExpandListener

建议?

Nil*_*hod 31

android.support.v4.view.MenuItemCompat.setOnActionExpandListener 已弃用

MenuItemCompat.setOnActionExpandListener此方法在API级别26.1.0中已弃用.

建议?

MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener)直接使用.

  • MenuItemCompat.OnActionExpandListener在此菜单项上,在关联的操作view展开或折叠时要通知.将menu item必须配置为展开或折叠其作用view使用标志SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW.

示例代码

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;
      }
});
Run Code Online (Sandbox Code Playgroud)


Man*_*ddy 7

此接口在API级别26.1.0中已弃用.

代替 MenuItemCompat.OnActionExpandListener

MenuItem.OnActionExpandListener直接使用.

官方文件

样品:

  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;
        }
    });
Run Code Online (Sandbox Code Playgroud)

奖金

设置OnQueryTextListenerOnCloseListener

    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;
        }
    });
Run Code Online (Sandbox Code Playgroud)