我想在回收服务的CardView项目上有一个上下文菜单。
How to create context menu for RecyclerView并没有真正提供解决方案。
我可以在ViewHolder上创建onClickListener和onLongClickListener。我也可以放入oncreatecontextmenu,但是oncreatecontextmenu永远不会被调用。
有人能举个例子吗?

最佳答案

如果未设置长单击侦听器,则菜单将在长单击事件时打开,其中包括:

public static class MyViewHolder extends RecyclerView.ViewHolder
      implements View.OnCreateContextMenuListener, View.OnClickListener,
      MenuItem.OnMenuItemClickListener {

    MyViewHolder(View itemView) {
      super(itemView);
      itemView.setOnClickListener(this);
      itemView.setOnCreateContextMenuListener(this);
    }


    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenu.ContextMenuInfo menuInfo) {
        MenuItem myActionItem = menu.add("Some menu item");
        myActionItem.setOnMenuItemClickListener(this);
    }

    @Override
    public boolean onMenuItemClick(MenuItem item) {
      // Menu Item Clicked!
      return true;
    }
}

关于android - ContextMenu中带有RecyclerView和Cardviews,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27459750/

10-12 04:08