RecyclerView에서 onClick Listener적용하는법

조회수 9513회

RecyclerView에서 각 항목에 onClickListener를 적용하려고 onClick이벤트를 넣었는데 제대로 동작을 안해요. 어떻게 하면 좋을까요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    RecyclerView에서는 OnItemTouchListener가 있는데 이걸 조금 바꿔서 각 item에 OnClickListener를 넣어주면 됩니다. RecyclerView.Adapter 구현 부분에 가서

    private final OnClickListener mOnClickListener = new MyOnClickListener();
    
    @Override
    public MyViewHolder onCreateViewHolder(final ViewGroup parent, final int position) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.myview, parent, false);
        view.setOnClickListener(mOnClickListener);
        return new MyViewHolder(view);
    }
    
    @Override
    public void onClick(final View view) {
        int itemPosition = mRecyclerView.getChildPosition(view);
        String item = mList.get(itemPosition);
        Toast.makeText(mContext, item, Toast.LENGTH_LONG).show();
    }
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)