【问题标题】:show and hide menu in adapter android studio在适配器 android studio 中显示和隐藏菜单
【发布时间】:2021-03-18 07:00:10
【问题描述】:

我试图在长按按钮时隐藏和显示工具栏和菜单。按下按钮时,菜单会膨胀,工具栏会非常无缝地消失。但是当我尝试隐藏菜单并显示工具栏时,您可以在屏幕顶部看到菜单和工具栏,然后工具栏出现并且菜单隐藏。它看起来很丑,扰乱了整个屏幕的视野。

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
 public MyAdapter(Activity activity,Toolbar toolbar) {
        this.activity = activity;
        this.toolbar = toolbar;
}

 public MyAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main,parent,false);
        return new MyViewHolder(view);
}
 public void onBindViewHolder(@NonNull MyAdapter.MyViewHolder holder, int
            position) {
 holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
             public boolean onCreateActionMode(ActionMode mode, Menu menu) {
             MenuInflater menuInflater = mode.getMenuInflater();
                   toolbar.setVisibility(View.GONE);
                   menuInflater.inflate(R.menu.mode_menu, menu);
                   return true;
             }
              public void onDestroyActionMode(ActionMode mode) {
                 long_click_toolbar.setVisibility(View.GONE);
                  mode.getMenu().close(); // for hiding the menu
    }
}

任何建议都会有所帮助,谢谢。

【问题讨论】:

    标签: android menu show-hide


    【解决方案1】:

    您应该在 ViewHolder 类中而不是在 onBindViewHolder() 中添加 setOnLongClickListener()。 详情请阅读Blog

    【讨论】:

    • 感谢您的回答,但是当我把它放在 ViewHolder 类中时问题仍然存在
    猜你喜欢
    • 2021-06-13
    • 2011-11-11
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多