RecyclerView에서 onClick Listener적용하는법


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

  • 2016년 01월 18일에 작성됨

조회수 688


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();
}
  • 2016년 01월 18일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close