recycleview条目点击事件

来源:互联网 发布:广汽丰田面试经验知乎 编辑:程序博客网 时间:2024/06/09 23:50

先弄一个外部接口OnItemClickLitener

public interface OnItemClickLitener {    void onItemClick(View view, int position);    void onItemLongClick(View view, int position);}

接着在适配器中调用接口进行有参构造

  private OnItemClickLitener mOnItemClickLitener;    public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener)    {        this.mOnItemClickLitener = mOnItemClickLitener;    }

然后在适配器onBindViewHolder里设置点击事件

 // 如果设置了回调,则设置点击事件        if (mOnItemClickLitener != null)        {            holder.itemView.setOnClickListener(new View.OnClickListener()            {                @Override                public void onClick(View v)                {                    int pos = holder.getLayoutPosition();                    mOnItemClickLitener.onItemClick(holder.itemView, pos);                }            });            holder.itemView.setOnLongClickListener(new View.OnLongClickListener()            {                @Override                public boolean onLongClick(View v)                {                    int pos = holder.getLayoutPosition();                    mOnItemClickLitener.onItemLongClick(holder.itemView, pos);                    return false;                }            });        }

最后再MainActivity中进行点击事件

adapter.setOnItemClickLitener(new OnItemClickLitener() {            @Override            public void onItemClick(View view, int position) {                Toast.makeText(MainActivity.this,"短按",Toast.LENGTH_SHORT).show();            }            @Override            public void onItemLongClick(View view, int position) {                Toast.makeText(MainActivity.this,"长按",Toast.LENGTH_SHORT).show();            }        });
原创粉丝点击