마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

RecyclerView 안에 RecyclerView 질문드립니다..(JSON)

0 추천

안녕하세요 List안에 List를 넣어야되는 상황이 있는데

도무지 감이 안잡히네요 ㅠㅠ.. 

설명을 잘 못하지만 .. 한번만 봐주세여..

 

실제데이터로 설명드리기는 좀 복잡한거 같아서 제가 간단하게 바꿔서

설명해보자면

JSON이 이런식으로 넘어옵니다.

[
    {
        "이름": "사과",
        "정보개수":"5개",
        "정보": [
            {
               "정보1":"빨갛다"
        },
            {
               "정보2": "맛있다"
            },
            {
               "정보3": "동그랗다"
            },

             ....
    {
        "이름": "바나나",
        "정보개수":"2개",
        "정보": [
            {
               "정보1":"노랗다"
        },
            {
               "정보2": "맛있다"
            },
           ...

일단 이렇게 넘어왔을때 저는 파싱을 하면서 ArrayList를 3개 만들어서

이름 : {사과, 바나나}

정보갯수 : {5개, 2개}

정보 : {빨갛다, 맛있다, 동그랗다, 어쩌구, 저쩌구, 노랗다, 맛있다}

이런식으로 저장해놨습니다.. 

그리고 원하는 화면은

이렇게 만들고 싶습니다.

첫번째 RecyclerView로 과일이름들을 찍는건 쉽게 됬습니다.

그리고 부모 RecyclerView에 어댑터를 달아서 레이아웃을

<TextView>

<RecyclerView> 

이렇게 놓은후에 2번째 자식 RecyclerView까지는 연결했는데

여기서 막혔습니다.. 

사과에서 자식 리스트는 5개, 바나나에서는 2개를 뿌려줘야하는데 

어떤식으로 해야될지 모르겠습니다..

 

처음에는 포지션으로 사과(0), 바나나(1)이니까

위에서 정보갯수 담아둔 ArrayList에서 정보갯수.get(포지션) 이런식으로 정보갯수를 빼와서

자식 RecyclerView Adapter에 getItemCount()에서 부모포지션별로 갯수를 빼와서 뿌려주려고했는데

이렇게 접근하는게 맞는지도 모르겠고.. 시도는 해봤는데 생각보다 원하는대로 안됩니다 ㅠㅠ..

 

RecyclerView inside RecyclerView, RecyclerView in RecyclerView 등등 구글링을 해봐도 원하는 답을

찾기 쉽지 않네요 ㅠㅠ.. 

이와 관련해서 혹시 어떻게 어떤식으로 접근해서 해결해야하는지 도움좀 주시면 감사하겠습니다.

 

사실 위와 같은 상황이면 다중배열을 쓰던 어떻게 하든 노가다해서 풀 수 있을거 같은데..

실제로는 2중 RecyclerView가 아니라 4중 RecyclerView라서.. 노가다로 해결이 안될것 같습니다..

 

글을 못써서 읽으실떄 힘드셨겠지만..

읽어주셔서 감사합니다 

익명사용자 님이 2016년 11월 9일 질문

1개의 답변

0 추천
 
채택된 답변
굳이 RecyclerView 안에 RecyclerView를 또 넣어야 하나요?

저라면 각각 RecyclerView 각 아이템 안에 그냥 뉴라인으로 string 나열할것 같은데..
Development Guy (70,570 포인트) 님이 2016년 11월 9일 답변
답변감사드립니다

위에 예처럼 2중이면 해볼텐데
실제로는 4중이라..

예를 들면
빨갛다에서 또 위에처럼
빨갛다의정보 5개 이런식으로 내려가고
그 정보 5개중 또 하나하나마다 또 다른 정의가 있고.. 이런식이라서요 ㅠ..

실제로는 영어단어인데
영어단어마다 품사가 1개또는 5개가 있을수 있고
품사마다 각각 뜻이있고(개발하다, 개발 등등)
각 뜻마다 예제가 있고,,(예제가 없을수도 있고 예가 1개가 될수도 10개가 될수도..)

또 각 리스트마다 디자인이 달라서.. ㅠ.ㅠ

이렇게 복잡해도 RecyclerView 하나로 가능하다면
해보고 싶은데 감이 안잡히네요..
일단 json 파싱해서 어레이에 저렇게 담는게 맞는지도 모르겠습니다..
추가로 영어단어다 보니..
지금은 없지만
나중에 기획이 예제 마다 tts 달릴가능성도 있고 해서 ㅠㅠ.
중첩으로 어댑터뷰가 들어가면 들어갈수록 코드상으로 더 복잡해질것이니 데이터트리의 포맷을 잘 맞추던지 아니면 레이아웃을 정적으로 맞춰서 사용하는편이 더 좋을거 같아요.
감사합니다
여러방법으로 한번 시도해보도록 하겠습니다
...