본문 바로가기

프로그래밍/안드로이드(Android)

[Android] getView() 가 여러번 호출 되는 문제

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

무슨 이유에선지 getView()가 여러번 반복해서 호출되어 오동작을 일으키는 문제가 있었다.

우선 주 원인은 리스트가 갱신되었지만 리스트 내부의 아이템의 정보가 다시 변경 되어 리스트를 반복적으로 갱신하게 되는 문제다.

주 예로 리스트내의 아이템을 onScroll 같은 UI변경이 가능한 곳에서 호출하게 되면 리스트는 무한대로 새로 그리게 된다.

이를 막기 위해서는 아래와 내용을 숙지하자
    1. onScroll() 내에서 ListView.getChild() 와같이 하위 자식을 가져오는 코드는 절대 넣지 말것.

    2. ListView를 가지고있는 부모의 width/height의 크기가 fill_parent 로 되어 있지 않고 wrap_content
        되어있어서 문제가 된것...크기를 fill_parent 로주니 getView()가 한번만 호출된다.

http://kkomanjell.tistory.com