参考链接
最后用的是这个,很简单好用:
高仿微信聊天界面长按弹框样式(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截图-
将上文参考博客对应的github项目中的PopupWindowList.java 类复制到项目中
-
在adapter中复制上图的showPopWindows方法
-
在长按的监听方法中,调用showPopWindows方法
网友评论