You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
앞으로는 한 화면에 다양한 layout의 RecyclerView를 표현해야 할 경우가 많을 것입니다. RecyclerView를 여러 개 만들고 각각에 Adpater를 할당해도 되지만, 하나의 RecyclerView를 사용하는 것이 좋은 방법입니다. 이 경우에 Adapter 내에 ViewType을 나누어 각자의 ViewHolder에 할당하는 방법을 사용하셨을 겁니다.
위의 방법은 ViewType이 많아질수록, 내부 코드가 복잡해지고, 이에 대한 처리를 하나의 클래스 안에서 해결해야 하는 문제가 있습니다. 이를 개선하고자 추가된 어뎁터가 바로 ConcatAdapter입니다.
사용법
1) Gradle에 Libary 추가하기
ConcatAdapter는 RecyclerView 1.2.0 버전부터 추가되었으니 이에 상응하는 Library를 추가해야 합니다.
이 부분은 다를 게 딱히 없습니다. 평소에 구현하는 방식으로 여러 개의 어뎁터를 생성해주시면 됩니다.
3) 사용하기
val topSellingSectionAdapter =CategoryTopSellingSectionAdapter()
val titleAdapter =CategorySectionTitleAdaptor()
val promotionAdapter =CategoryPromotionAdaptor()
binding.rvCategoryDetail.adapter =ConcatAdapter(topSellingSectionAdapter, titleAdapter, promotionAdapter)
위와 같이 사용할 어뎁터의 객체들을 생성한 뒤 ConcatAdapter로 묶어주고 RecyclerView에 할당하면 끝입니다. 이제는 다음과 같이 필요한 동작들을 여러 개 어뎁터를 사용하여 정의할 수 있습니다.
ConcatAdapter의 필요성
앞으로는 한 화면에 다양한 layout의 RecyclerView를 표현해야 할 경우가 많을 것입니다. RecyclerView를 여러 개 만들고 각각에 Adpater를 할당해도 되지만, 하나의 RecyclerView를 사용하는 것이 좋은 방법입니다. 이 경우에 Adapter 내에 ViewType을 나누어 각자의 ViewHolder에 할당하는 방법을 사용하셨을 겁니다.
위의 방법은 ViewType이 많아질수록, 내부 코드가 복잡해지고, 이에 대한 처리를 하나의 클래스 안에서 해결해야 하는 문제가 있습니다. 이를 개선하고자 추가된 어뎁터가 바로
ConcatAdapter
입니다.사용법
1) Gradle에 Libary 추가하기
ConcatAdapter는 RecyclerView 1.2.0 버전부터 추가되었으니 이에 상응하는 Library를 추가해야 합니다.
implementation "androidx.recyclerview:recyclerview:1.2.1"
2) Adapter 생성
이 부분은 다를 게 딱히 없습니다. 평소에 구현하는 방식으로 여러 개의 어뎁터를 생성해주시면 됩니다.
3) 사용하기
위와 같이 사용할 어뎁터의 객체들을 생성한 뒤
ConcatAdapter
로 묶어주고 RecyclerView에 할당하면 끝입니다. 이제는 다음과 같이 필요한 동작들을 여러 개 어뎁터를 사용하여 정의할 수 있습니다.The text was updated successfully, but these errors were encountered: