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

글라이드 load 문제?

0 추천
val iterator = item.photoUrl?.iterator()
while(iterator?.hasNext() == true) {
    var url = iterator.next()
    Glide.with(context)
        .load(url)
        .into(binding.photoImg)
}

photoUrl은 List<String> 이고 

페이징3로 데이터를 response받아와서 뷰홀더에서 저렇게 쓰고 있습니다

즉 현재 넘어오는 데이터가

item(a=1, photoUrl=[a,b])

item(a=2, photoUrl=[c])

... 등 photoUrl에 리스트 갯수는 유동적으로 돌아갑니다

이런식으로 있어서 저걸 iterator을 돌리고 현재 저 var url 부분을 로그 찍어보면 

정상적으로 a,b,c를 다 탐색하는데요. 저걸 글라이드 load하면 a,b,c가아닌 a, c 즉 0번인덱스 이미지만 로드를 하더라구요

이유를 알수잇을까요?

수원통학러 (3,570 포인트) 님이 2022년 1월 11일 질문
이미지뷰를 여러개 만들고 싶지만 이미지갯수가 많으면 막 100개도 넘어갈텐데 이부분은 어떻게 해야될까요..? 그래서 현재 지금 보여주려는 리사이클러뷰에 페이징3적용해놓은상태입니다
100개면 많은 건 아닌데요. DiffUtil을 사용해 보세요. 저 같은 경우 작은 이미지(회사 로고)가 들어간 좀 복잡한 리스트를 900개 정도까지 보여주고 있어요. 데이터 로딩하고 새로고침하는데 별 문제 없어요.
이미지뷰를 몇개를 만들어야되는건지를 모르겠습니다.. 기준을 뭐로잡아야되는건지요..? diffutil은 이미 사용중입니다
리사이클러뷰 전체 구조가 궁금하네요. 이미 중첩으로 리사이클러뷰를 사용하시다고 했는데, 다시 중첩된 구조가 되는 것 같네요. 이건 좀 많이 복잡한데요... 리사이클러뷰 하나에 모두 보여주려고 하니 복잡해 지는 것 같네요. 모바일 화면은 심플할 수 있으면 심플한게 제일 좋은데요.... 설계를 다시 검토해 보시는게 좋을 것 같은데요.
뷰홀더에서는 대표이미지 하나만 보여주고(badge로 이미지 갯수 표시) 클릭을 하게 되면 전체 포함된 이미지를 다 보여주는게 어떨까 싶은데요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...