안드로이드 개발 질문/답변
(글 수 45,052)
디비아답터는 이미 만들어 놓았구요, 수정을 통해 체크리스트뷰로 바꾸려고 하는데요..;;
여기저기서 알아본 결과 getView를 통해 바꿔주어야 할것같은데;;
데이터베이스에 있는 자료를 가져와서 가공을 해서 getView메소드를 통해 뿌려주면 될 것 같은데..
데이터베이스에 있는 자료를 어떤식으로 가공해 리스트뷰로 바꿀수 있는지 궁금합니다..;;
도무지 감이 잡히질 않네요..-_-;;
고수분들.. 도움부탁드립니다..ㅠㅠ
여기저기서 알아본 결과 getView를 통해 바꿔주어야 할것같은데;;
데이터베이스에 있는 자료를 가져와서 가공을 해서 getView메소드를 통해 뿌려주면 될 것 같은데..
데이터베이스에 있는 자료를 어떤식으로 가공해 리스트뷰로 바꿀수 있는지 궁금합니다..;;
도무지 감이 잡히질 않네요..-_-;;
고수분들.. 도움부탁드립니다..ㅠㅠ
2010.03.09 01:44:52
해결하시는 방향은 맞습니다.일단은 Sample Code의 Custom ListView를 참조하시구요. (List14.java파일입니다.)
커스텀 모델의 경우에는 리스트 아답터 클래스가 리스트의 열 목록을 출력하는 책임을 지게 됩니다. 또한 클릭이나 컨텍스트 메뉴등의 컨트롤은 리스트뷰 클래스에서 하구요...
BaseAdapter를 상속한 클래스에 setter를 만드셔서 데이터 베이스에서 가져온 자료를 세팅해준 다음에, 리스트뷰에서 mAdapter.notifyDataSetChanged(); 메서드를 호출해 주면 됩니다.
그렇게 되면 모든 리스트의 getView 메서드가 다시 호출되는데요. 그때 getView 메서드에서 convertView가 null값이냐 null값이 아니냐에 따라서 View를 생성하거나 기존의 View를 재활용하게 됩니다. 그리고 나머지는 View에다가 데이터를 맞게 쏘아주는것 뿐이죠.