본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] ListView scrollTo 를 사용했을 경우의 문제점 & 해결방안

by 돼지왕 왕돼지 2012. 12. 11.
반응형



ListView scrollTo 를 사용했을 경우의 문제점 & 해결방안

- 문제점 : ListView 는 기본적으로 화면에 보이는 영역에 필요한 Item 의 view 들만 생성하고, scroll 이 되면서 해당 view 들의 내용을 변화시키는 방식으로 쓸데없는 view 의 생성 삭제 ( gc ) 를 방지하곤 합니다. ListView.scrollTo 함수를 사용하여 위치를 변경할 경우, scroll 은 하지만, adapter 상에 position 이 바뀌지 않아서 view 의 refresh 가 제대로 되지 않는 문제가 있습니다.



- 해결법 : 문제의 원인은 adapter 는 position 0 을 바라보고 있고, listview 는 내용갱신 없이 adapter 가 그려준 view를 scroll만 해서 보여주기 때문입니다. 결론적으로 adapter 에 제대로 된 index 를 제공해주어 adapter 가 contents 를 refresh 할 수 있도록 해줘야 합니다. ListView.setSelection 함수를 사용하면 해결됩니다.



도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )





반응형

댓글