RecyclerView的点击事件


我以前的Recyclerview的基本用法


在adapter中添加:

全局变量:

OnItemClickListener mOnItemClickListener;


 public interface OnItemClickListener{
        void onClick( int position);
        void onLongClick( int position);
    }
    public void setOnItemClickListener(OnItemClickListener onItemClickListener ){
       this. mOnItemClickListener=onItemClickListener;
    }


public void onBindViewHolder(ViewHolder holder, final int position) {
中添加:

 if( mOnItemClickListener!= null){
            holder.itemView.setOnClickListener( new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mOnItemClickListener.onClick(position);
                }
            });
            holder. itemView.setOnLongClickListener( new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    mOnItemClickListener.onLongClick(position);
                    return false;
                }
            });
        }


最后在MainActivity中

myRecycleradapter 为  new MyRecycleradapter的名:


  myRecycleradapter.setOnItemClickListener(new MyRecycleradapter.OnItemClickListener() {
            @Override
            public void onClick(int position) {
                Toast.makeText(MainActivity.this,"您点击了"+position+"行",Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onLongClick(int position) {
                Toast.makeText(MainActivity.this,"您长按点击了"+position+"行",Toast.LENGTH_SHORT).show();
            }
        });



猜你喜欢

转载自blog.csdn.net/qq_37454196/article/details/79903143