RecyclerView (3) - RecyclerView item 의 click 처리하기
이번 포스팅에서는 RecyclerView item click 시 처리하는 방법에 대해 알아보자.
참고로, 지난 포스팅에서는 RecyclerView 에 image + text 를 출력하는 방법에 대해 알아 보았다.
[Android/UI] - RecyclerView (2) - RecyclerView 에 image + text 출력하기
Click listener 설정하기
ListView 는 setOnItemClickListener() 를 사용해 click event 를 설정할 수 있었다.
[Android/UI] - ListView (4) - ListView item 의 click 처리하기
하지만, RecycerView 에서는 click event 를 직접 다루지 않기 때문에 setOnItemClickListener() 가 없다.
RecycerView 는 click event 를 item view 에서 onClickListener 를 통해 처리한다.
◼ ViewHolder 생성자
인자로 전달된 item view 에 listener 를 설정할 수 있다.
◼ Apdater 의 onCreateViewHolder
View holder 를 생성하는 부분으로, inflate 된 view 에 listener 를 설정할 수 있다.
◼ Apdater 의 onBindViewHolder
생성된 view holder 를 데이터 바인딩 될때마다 호출되므로, 여기서는 하지말자.
RecycerView item 전체 click event
하단은 RecyclerView item click 시 해당 item 의 정보를 얻어 toast 로 보여주는 예제이다.
ViewHolder 는 adapter 내부가 아닌 별도의 class 로 생성자에서 onClickListener 를 설정했다.
RecycerView item 전체 long click event
하단은 RecyclerView item long click 시 해당 item 의 정보를 얻어 toast 로 보여주는 예제이다.
ViewHolder 는 adapter 내부가 아닌 별도의 class 로 생성자에서 onClickListener 를 설정했다.
RecycerView item 중 특정 widget click event
RecyclerView item 이 여러 widget 의 조합으로 이루어진 경우 특정 widget 의 click event 를 처리하기 위해서는 해당 widget 에 listener 를 설정해야 한다.
하단은 RecyclerView item 중 ImageView click 시 해당 image 를 보여주는 예제이다.
Source code
https://github.com/parkho79/RecyclerView_3