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

커스텀 어댑터 질문있습니다.

0 추천
holder를 이용하여 커스텀 어댑터를 만드는데에 성공하였습니다.

그런데 또 다른 커스텀 어댑터를 만들 필요가 있는데 이때 같은 holder를 사용해야하는지 아니면

커스텀 어댑터마다 각각 새로운 홀더를 만들어서 구현해야하는지 궁금합니다.
jhh1117 (240 포인트) 님이 2016년 7월 30일 질문

1개의 답변

0 추천
상황에 맞게 사용하시면 됩니다.

작성자님의 질문 의도가 무엇인지는 알지 못하겠지만 제 생각에는 더 효율적인 방법을 묻기위해 질문을 올리신거 같습니다.

ViewHolder 패턴을 쓰는 이유는 Adapter의 getItem 함수에서 item에 쓰이는 view 인스턴스를 획득하기 위해 사용하는 findViewById 함수의 사용을 줄이기 위해 사용하는 것입니다.

일반적으로는 각각의 커스텀Adapter마다 ViewHolder Inner클래스를 정의하여 사용하지만 만약 해당 리스트에서 item에서 사용하는 layout이 같다면 같은 view구조를 갖게 되는것이므로 ViewHolder도 공유해도 상관 없으나 각 커스텀Adapter 에서 사용하는 layout이 다르다면 ViewHolder를 공유하면 차후에 한쪽 layout을 수정하면 공유하고 있는 다른 layout도 같이 수정해야 되므로 이를 잊었을때 앱이 터지게 되겠지요.

 

상황에 따라 어떤 방법을 써도 상관은 없지만 일반적으로는 Holder는 그 Adapter에 의존적이기 때문에 그냥 1:1로 구현하는것이 정신건강에 좋을거 같습니다.
Development Guy (70,570 포인트) 님이 2016년 8월 1일 답변
...