2017-10-22 20:42

为RecyclerView添加ContextMenu

BRVAH(BaseRecyclerViewAdapterHelper)也可以用这种方法。
由于RecyclerView继承的是ViewGroup,所以并没有onCreateContextMenu函数,所以需要先在ViewHolder里implements View.OnCreateContextMenuListener,代码如下:

    protected class MyViewHolder extends BaseViewHolder implements View.OnCreateContextMenuListener {

    public MyViewHolder(View view) {
        super(view);
        view.setOnCreateContextMenuListener(this);
    }
    
        @Override
    public void onCreateContextMenu(ContextMenu menu, View v, final ContextMenu.ContextMenuInfo menuInfo) {
    do something……
    }
}

这里还有一个问题,就是你可能需要获取到当前点击位置的position,方法是在Adapter里调用item长按方法,然后在这里获取ContextMenu的位置。

sheepkx

原创文章,欢迎转载。转载请注明:转载自 凯迪飞扬·Studio,谢谢!
原文链接:https://www.kdfly.com/768.html