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

커스텀리스트뷰의 뷰 재사용으로 인한 문제점..

0 추천
안녕하세요.

커스텀리스트뷰를 구현하면서 문제가 생겼습니다.

비동기로 이미지를 다운로드하여 표시하는 기능인데요.

뷰의 성능상 기존의 뷰를 재사용하잖아요?

그래서 그런지 모르겠는데..

스크롤을 빨리 하거나하면 데이터가 꼬여서 표시되는 현상이 나타나는데요...

해결책 조언 부탁드립니다.

감사합니다.
갸아악 (21,260 포인트) 님이 2014년 1월 15일 질문
갸아악님이 2014년 1월 15일 수정

2개의 답변

0 추천
소스가 없이는 위 설명으로는 해결책을 찾기가 힘들것 같은데요.. -.-;;
철수야안녕 (6,120 포인트) 님이 2014년 1월 15일 답변
0 추천
도움이 되실진 모르겠지만 저도 비슷한 경험이 있어서 말씀드립니다.

님의 말씀대로 뷰의 재사용 때문에 기존의 이미지가 남아있는 현상이 생깁니다.

아직 이미지를 받지 않아 이미지값이 null임에도 불구하고,

재사용되는 뷰의 이미지가 남아있다면 그 이미지가 그대로 나타납니다.

if(이미지==null){~}을 추가하여 아직 이미지가 다운로드되지 않았을 경우를 고려하면 될 것 같습니다.
hahohehi (1,250 포인트) 님이 2014년 1월 15일 답변
답글 감사드립니다.
이미지==null이
다운로드 받은 비트맵 이미지가 null인지 비교하는건가요?
아니면 이미지뷰에 세팅된 이미지가 null인지 비교하는건가요?
다운로드 받은 비트맵 이미지가 null인지 비교합니다.
이미지뷰에 들어갈 비트맵 이미지가 null인지 보고, null이면 이미지뷰를 빈공간으로 세팅하고, 이미지가 다운로드됐을때, 이미지뷰에 세팅해주시면 될 것 같습니다.
저는 단순히 데이터에서 이미지 유무에 따라 gone, visible을 세팅했었는데 뷰가 재사용될 경우, 데이터이미지가 !=null인경우만 고려하니 비슷한 문제가 나타났었습니다. 도움 되셨으면 합니다.
...