1. Adapter의 onBindViewHolder 함수에서 holder의 adapterposition 값을 저장하지 말 것

- Drag and drop 기능 구현 시 adapterposition을 저장한 값을 사용하면 이전 값을 가져오거나 잘못된 값을 가져올 수 있음


2. Adapter의 onBindViewHolder 함수에서 특정 이미지나 텍스트를 변경 시 조건문으로 만들 것

- 기본적으로 recyclerview는 아이템을 재사용하기 때문에 재사용된 데이터가 다른 위치에서 보일 수 있다. 하지만 정확히 조건문을 구현하여 변경 전과 후를 구현하면 방지할 수 있다.


3. Adapter 내 getItemCount 함수와 getItemId 함수를 구현할 것

- 2번과 비슷한 이유로 재사용 이슈로 인해 일부 잘못 표기되는 경우가 존재한다.


4. Listview의 head/foot view는 Recyclerview에선 view type으로 구현 가능

- Recyclerview는 listview와 별개로 별도의 head/foot view를 만들 수 있는 함수가 없다. 좀 더 확장한 개념의 view type을 사용하여 단순히 head/foot view 뿐만 아니라 리스트 데이터의 따라 다양한 형태로 view를 구현 가능하다.


5. Recyclerview에서 drag and drop 기능과 swipe 기능 구현

https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf


* 개발하면서 배우는 점을 지속적으로 업데이트할 예정

by JamesY 2018. 7. 22. 21:56