어댑터로 데이터를 보낼 때, 데이터 구조를 유저 이벤트에 반응하기 좋은 형태로 만드세요.
즉, 가로 아이템이 있고, 각 아이템들이 하위 아이템을 가질 수 있는 구조로 말이죠.
data class VeritcalItem(
val id: String,
val subItems: List<HorizontalItem>
)
data class HorizontalItem(
val veticalItemid: String // = VeritcalItem.id
)
List<VerticalItem>을 어댑터에 넣어주면 되지 않을 까요? 그리고 VerticalItem과 HorizontalItem은 서로 키값으로 연결되게 하시면 사용자가 HorizonalItem 을 선택할 때 어떤 VerticalItem이 선택되었는지 알 수 있을 것 같습니다. 이것보다 좀 더 쉬운 방법이 있는지 연구해 보세요.
그리고 어댑터에 있는 아이템을 모두 다른 액티비티로 보내는 방법은 어댑터에 데이터를 제공한 데이터소스에서 보내야할 데이터만 가져오면 됩니다. , 데이터소스에서 어댑터에서 데이터를 가져올 때와 똑같이 가져오시고 여기에 선택한 HorizontalItem만 추가하시면 됩니다. 화면을 중심으로 처리하지 마시고 데이터 소스를 중심으로 처리하세요.