Android RecyclerView 监听Item短按和长按

101 阅读1分钟

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…,如有侵权,请联系删除。