Android RecyclerView 监听Item短按和长按

HouseHomeAdapter.java

private OnItemOnClickListener mOnItemOnClickListener;
    public void setOnItemClickListener(OnItemOnClickListener listener){
    
    
        this.mOnItemOnClickListener = listener;
    }

    public interface OnItemOnClickListener{
    
    
        void onItemOnClick(View view,int pos);
        void onItemLongOnClick(View view ,int pos);
    }
    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, @SuppressLint("RecyclerView") int i) {
    
    
        if(mOnItemOnClickListener!=null) {
    
    
            viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
    
    
                @Override
                public void onClick(View view) {
    
    
                    mOnItemOnClickListener.onItemOnClick(viewHolder.itemView, i);
                }
            });

            viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
    
    
                @Override
                public boolean onLongClick(View view) {
    
    
                    mOnItemOnClickListener.onItemLongOnClick(viewHolder.itemView, i);
                    return false;
                }
            });
        }
    }

MainActivity.java

adapter.setOnItemClickListener(new HouseHomeAdapter.OnItemOnClickListener() {
    
    
            @Override
            public void onItemOnClick(View view, int pos) {
    
    
                Toast.makeText(getActivity(), "短按第"+pos+"项", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onItemLongOnClick(View view, int pos) {
    
    
                Toast.makeText(getActivity(), "长按第"+pos+"项", Toast.LENGTH_SHORT).show();
            }
        });

猜你喜欢

转载自blog.csdn.net/qq_27494201/article/details/128670797