레이아웃 매니저
Recyclerview는 레이아웃 매니저를 이용하여 여러 형태의 레이아웃을 만들 수 있다
세로 스크롤이 되는 수직 레이아웃은 지난 포스트에서 했으니까
다른 레이아웃을 구현해 보겠다
가로 방향으로 스크롤이 되는 수평 레이아웃 이다
다음은 그리드 레이아웃이다
다음은 불규칙 그리드 레이아웃이다
뷰의 높이에 따라 타일이 불규칙적으로 배치된다
클릭 리스너
각 아이템뷰에 클릭 리스너를 달아보겠다
뷰 홀더에 아이템뷰가 들어오니까 뷰 홀더에 클릭리스너를 달아 보겠다
간단하게 아이템뷰를 클릭하면 뷰에 있는 내용을 출력하고 싶은데
뷰 홀더에는 리사이클러뷰의 포지션 정보가 들어있지 않아서
원하는 데이터에 접근할 수 없다
포지션 정보를 알아내려면 bindingAdapterPosition을 사용하면 된다
포지션 정보를 얻어와서 해당하는 데이터를 출력해주는 모습이다
여기서 주의해야할 점이 있다
현재 RecyclerViewAdapter클래스 안에 ViewHolder클래스가 있고
ViewHolder클래스 안에서는 RecyclerViewAdapter에 있는 변수 itemList에 접근할 수 없다
접근 가능하게 하기 위해 ViewHolder클래스를 inner class로 선언해 줘야 한다
이러면 이제 ViewHolder클래스는 RecyclerViewAdapter클래스 안에 속하게 되기 때문에
ViewHolder클래스에서 outter클래스에 있는 변수에 접근 가능해진다
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.