动作视图:onMenuItemActionCollapse之后不显示菜单图标

时间:2018-10-04 07:24:55

标签: android searchview actionview

由于 SearchView ActionView 隐藏了它的菜单项,但没有隐藏其他菜单项,因此我试图通过显示/隐藏ActionBar的菜单项之一> onMenuItemActionExpand onMenuItemActionCollapse 事件:

Menu cMenu;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.item, menu);
    cMenu = menu;
    MenuItem item = menu.findItem(R.id.menuSearch);
    item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            // Do something when action item collapses
            cMenu.findItem(R.id.favs).setVisible(true);                    
            return true;  // Return true to collapse action view
        }

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            // Do something when expanded
            cMenu.findItem(R.id.favs).setVisible(false);
            return true;  // Return true to expand action view
        }
    });

    final SearchView searchView = (SearchView) item.getActionView();
    searchView.setQueryHint(getString(R.string.search_list));
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            //Perform the final search
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            new FilterListTask().execute(newText);
            return false;
        }
    });

    return true;
}

它无法正常工作,因为添加了以下代码行: cMenu.findItem(R.id.favs).setVisible(true)onMenuItemActionCollapse,当SearchView收合时,两项都将从ActionBar中消失。

有什么方法可以隐藏ActionView自身功能中的菜单项?有什么想法吗?

0 个答案:

没有答案