RecyclerView item 设置点击事件 长按点击事件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr___Xu/article/details/81026331

第一步写个接口:

public interface OnItemClickListener {
    void onClick(int position);
    void onLongClick(int position);
}

第二步在adapter中写入下面方法:

public void setOnItemClickListener(OnItemClickListener onItemClickListener ){
    this. itemClickListener=onItemClickListener;
}

第三步在onBindViewHolder中写入下面方法:

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

同时在adapter中声明 private OnItemClickListener itemClickListener;

第四步在Activity中调用点击事件方法:

shareItemAdapter.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onClick(int position) {
        Toast.makeText(context,"您点击了"+position+"行",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onLongClick(int position) {
        Toast.makeText(context,"您点击了"+position+"行",Toast.LENGTH_SHORT).show();
    }
});
搞定!

猜你喜欢

转载自blog.csdn.net/Mr___Xu/article/details/81026331