← 질문 목록
#94깊이 0

재사용 셀에 이전 데이터가 비치는 이유는?

모바일기초

onBindViewHolder가 새 항목의 모든 가변 속성을 덮어쓰지 않았기 때문이다. 이전 항목의 가시성이나 체크 상태와 이미지가 ViewHolder에 남는다.

  1. RecyclerViewViewHolder

    화면 밖 셀을 회수한다

  2. RecyclerViewAdapter

    새 위치의 데이터를 요청한다

  3. AdapterViewHolder

    모든 가변 상태를 덮어쓴다

전체 바인딩에서는 텍스트와 이미지와 선택 상태와 리스너를 현재 모델 기준으로 모두 설정한다. 비동기 이미지 요청은 재사용 전에 취소하거나 새 요청으로 교체한다.

클릭 시 바인딩 때 받은 position을 저장하지 않는다. 실행 시점의 bindingAdapterPosition을 확인하거나 항목 자체를 콜백에 넘긴다.

DiffUtil과 stable ID는 변경 계산과 애니메이션을 돕는다. 올바른 바인딩을 대신하지 않으며 잘못된 ID는 화면 상태를 엉뚱한 항목에 붙인다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

재사용 셀에 이전 데이터가 비치는 이유는?