안드로이드 개발 질문/답변
(글 수 45,052)
getView에서 동적으로 레이아웃 클래스를 만듭니다.
이 레이아웃 클래스는 기존에 정의되어 있는 레이아웃 정보가 들어 있는 xml 파일을 파싱하여 레이아웃을 만들고 섬네일 bitmap을 리턴합니다.
그럼 getview에서 이 리턴된 bitmap을 받아서 하나의 아이템을 채우고...또 다시 getview 호출되서 위의 과정을 반복하는데요,
문제는 스크롤로 위아래로 움직이면 또 파싱을 해서 레이아웃 섬네일을 만들어서 리턴한다는게 문제입니다.
그럴 필요 없이 그냥 만들어진거 보여주면 되는거거든요.
해결할 방법이 있나요?
아시는 분 답변해 주시면 진심으로 감사드리겠습니다~




일단 데이터를 담는 bean 객체와 이 bean 객체들을 담는 List를 하나 만드셔서 리스트뷰를 구성하기전에 웹요청으로 파싱해하여 내용을 채워주시고요. 그리고 리스트뷰에 어뎁터를 연결할때 List를 연결해줍니다. 물론 커스텀어뎁터로 해야하구요. getView함수에서는 viewHolder라는 약간의 트릭을 사용해서 중복되는 레이아웃의 형태라면 좀더 빠른스피드로 뷰를 구성할수있구요, 이때 뷰를 구성하는 함수에서 position 파라미터를 이용하여 List에서 position 의 위치에 맞게 객체를 뽑아서 홀딩된 뷰에 셋팅만해주시면 됩니다.