2019-04-28 RecyclerView 长按弹出一些选项

2019-04-29  本文已影响0人  YuQiao0303

参考链接

RecyclerView+ContextMenu实现菜单项

最后用的是这个,很简单好用:
高仿微信聊天界面长按弹框样式(popwindow)

长按的实现:

在recyclerView绑定的adapter的onBindViewHolder方法中,
为其传入的holder的view设置长按监听,

@Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        final RecyclerView.ViewHolder mHolder =holder;
        ((ViewHolder) mHolder).setPosition(position);
        //长按
        mHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int layoutPosition = mHolder.getLayoutPosition();
                showPopWindows(v);
                Toast.makeText(MyApplication.getContext(),"长按"+ layoutPosition,Toast.LENGTH_LONG).show();
                return true;
            }
        });
    }

长按监听方法中,可能需要操作被按条目的position或view,
position的获得方法是mHolder.getLayoutPosition();
view就直接是onLongClick的参数。

弹框:

github截图
  1. 上文参考博客对应的github项目中的PopupWindowList.java 类复制到项目中

  2. 在adapter中复制上图的showPopWindows方法

  3. 在长按的监听方法中,调用showPopWindows方法

上一篇 下一篇

猜你喜欢

热点阅读