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

커스텀리스트뷰 사용시 순서가 꼬입니다.

0 추천

 

 

안녕하세요.

커스텀 리스트뷰를 사용하는 도중 문제가 발생하였습니다.

커스텀 리스트뷰의 커스텀 셀에 텍스트뷰를 각각 배치하였고

셀을 선택하고 다운로드를 시작하면 텍스트뷰에 퍼센테이지가 올라갑니다.

텍스트뷰 레퍼런스 변수 값을 다운로드를 관장하는 다운로드 AsyncTask로 보냈고

그쪽에서 ui업데이트 작업을 하게 하였습니다.

문제는 텍스트뷰에 퍼센테이지가 잘 올라가는 도중에

스크롤을 왕왕 내렷다가 다시 올리면 퍼센테이지가 표시되는 위치가 전혀 엉뚱한곳으로 가있습니다.

스샷도 첨부하였습니다.ㅠㅠ


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

오늘 멘붕을 너무 했더니 정신력이 고갈되었습니다.

돠주세요ㅠㅠ

갸아악 (21,260 포인트) 님이 2014년 8월 12일 질문
갸아악님이 2014년 8월 12일 수정

1개의 답변

0 추천
 
채택된 답변
아답터뷰의 뷰 재사용 관련 검색해보시고요,

때문에 뷰의 데이터는 항상 상태를 가지고 있다가 아답터의 getView에서 다시 셋팅될 수 있어야 해요
b22n (22,940 포인트) 님이 2014년 8월 12일 답변
갸아악님이 2014년 8월 13일 채택됨
저는 텍스트뷰 객체의 참조값을 어싱크테스크쪽으로 넘겨서 처리하게 하였습니다.
이런식으로 ui갱신처리를 하게되면 잘못된 접근법인가요?
텍스트뷰로 다운로드진행률표시를 하려고햇거든요
뷰 객체 자체가 아답터의 getView()가 불리는 순간 재사용 되어 다른 row에 사용될 수 있기 때문에 getView()내에서 적절한 처리가 필요합니다.
다운로드 진행률이 표시중인 텍스트뷰의 참조값을 어싱크테스크가 이미 가지고 ui업데이트를 진행 하는 도중이라 스크롤을 하면 말씀하신대로 전혀 엉뚱한 riw에서 진행상황이 표시 됩니다.
이런경우 처리를 어떻게해야될까요?
텍스트뷰의 참조값이 어싱크테스크에 파라미터로 넘어간 구조입니다~
넘긴 텍스트뷰로 어싱크테스크에서 ui업데이트를하고있습니다.
살려주세요ㅜㅜ
섬바리헬미 제발요
...