【问题标题】:Hide menu in android studio在android studio中隐藏菜单
【发布时间】:2021-06-13 12:19:32
【问题描述】:

我试图在适配器类中显示和隐藏菜单和工具栏。元素显示得很好,但它们并没有像预期的那样隐藏。这是我的实现

 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 中隐藏菜单?任何建议都会有帮助谢谢。

【问题讨论】:

    标签: android menu hide


    【解决方案1】:

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

     holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
             @Override
             public boolean onLongClick(View v) {
    
                 if (getSupportActionBar() != null) {
                     getSupportActionBar().hide();
                 }
    
                 return false;
             }
         });
    

    【讨论】:

    • 此方法存在于适配器类中,因此此类中未提供 getSupportActionBar() 或 onOptionsItemSelected() 等选项
    • 您可以通过按此按钮将动作从适配器类传递给活动(广播意图),然后在活动中执行您的操作。
    • 你能用真正有用的代码解释一下吗?
    • 试试这个方法兄弟。 stackoverflow.com/a/53571649/15035105
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多