티스토리 뷰

728x90



이번 포스팅에서는 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



728x90
댓글