在android studio中隐藏菜单

问题描述

我正在尝试显示和隐藏适配器类中的菜单和工具栏。元素显示正常,但没有按预期隐藏。这是我的实现

 holder.itemView.setonLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
              @Override
              public boolean onCreateActionMode(ActionMode mode,Menu menu) {
                  MenuInflater menuInflater = mode.getMenuInflater();
                    toolbar.setVisibility(View.GONE);
                    menuInflater.inflate(R.menu.menu,menu);
                    return true;
}
public void onDestroyActionMode(ActionMode mode) {
         mode.getMenu().clear();
         toolbar.setVisibility(View.VISIBLE);
         mode.finish();
}

我想隐藏在 onCreateActionMode() 方法中膨胀的菜单。“菜单”不会消失,因为它说 mode.getMenu().clear() 是在空对象上实现的。如何在 onDestroyActionMode 中隐藏菜单?任何建议都会有所帮助谢谢。

解决方法

将此代码放在您的按钮单击侦听器中。它肯定会起作用。if (getSupportActionBar() != null) {getSupportActionBar().hide();} 就像这样。

 holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
         @Override
         public boolean onLongClick(View v) {

             if (getSupportActionBar() != null) {
                 getSupportActionBar().hide();
             }

             return false;
         }
     });