메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. 깜빡거리는 원인

Adapter가 관리하는 Data Set에 데이터가 추가 / 삭제 / 갱신등이 이루어지면 notifyDataSetChanged()를 호출하여 Adapter에게 DataSet이 변경되었으니 갱신하라고 알려줘야 합니다. 이때 Adapter는 변경 된 DataSet을 가지고 View를 갱신하기 위한 작업을 진행할텐데 이때 Adapter는 자신이 가지고 있는 Data Set에서 어떤 Item이 변경되었는지를 알지 못합니다. Adapter는 새로운 Data Set 전부를 ViewHolder와 매칭시키는 작업을 진행하게 되면서 RecyclerView가 깜빡거리는 현상이 발생합니다.


2. 문제해결 1) setHasStableds 호출

해당 함수는 Adapter에게 Data Set의 각 Item들이 자신만의 고유한 값을 가지고 있다는 알려주는 기능을 합니다. 해당 함수를 통해 setHasStableds(true)를 설정해주면 Adapter가 각 Item들을 추적할 수 있고 ViewHolder를 새로 매칭시키는 일이 사라집니다.

 

3. 문제해결 2) 각 Item의 데이터 클래스의 고유값에 해당하는 필드 추가

Adapter가 관리하는 데이터에 해당하는 데이터 클래스의 각 Item을 식별할 수 있는 필드값을 멤버변수로 가지고 있어야 합니다. 

4. 문제해결 3) Adapter의 getItemId() 재정의

    @Override
    public long getItemId(int position)
    {
        return contentItems.get(position).getContentSequence();
    }

 

▼ 다음과 같이 Adapter의 getItemId() 함수를 재정의하여 인자로 넘어오는 위치에 해당하는 Item의 고유값을 return 해주도록 재정의합니다. 


  1. 안드로이드 - switch를 사용법 및 구현

    Date2021.04.02 Views1286
    Read More
  2. 안드로이드 - Text 입력 이벤트 처리 - TextWatcher

    Date2021.04.02 Views561
    Read More
  3. 안드로이드 - 갤러리에서 이미지 가져오기

    Date2021.04.02 Views669
    Read More
  4. 안드로이드 - 날짜 및 시간 정보 입력받기 (DatePickerDialog / TimePickerDialog)

    Date2021.04.01 Views1784
    Read More
  5. 안드로이드 - 네비게이션 드로어(Navigation Drawer)를 활용하여 슬라이드 메뉴 구현하기

    Date2021.04.01 Views1882
    Read More
  6. 안드로이드 - 랠러티브 레이아웃(Relative Layout)

    Date2021.03.29 Views242
    Read More
  7. 안드로이드 - 리니어 레이아웃 (Linear Layout)

    Date2021.03.29 Views320
    Read More
  8. 안드로이드 - 리사이클러 뷰(RecyclerView) 구현

    Date2021.04.01 Views391
    Read More
  9. 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상

    Date2021.04.02 Views751
    Read More
  10. 안드로이드 - 리스트뷰(ListView) 구현

    Date2021.04.01 Views494
    Read More
  11. 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent)

    Date2021.04.01 Views341
    Read More
  12. 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기

    Date2021.03.31 Views907
    Read More
  13. 안드로이드 - 문자열 리소스를 활용한 다국어 지원

    Date2021.03.31 Views286
    Read More
  14. 안드로이드 - 문자열 배열 리소스 추가하기 <string-array>

    Date2021.03.31 Views823
    Read More
  15. 안드로이드 - 버튼 이벤트 처리방법 정리 (리스너 구현 및 이벤트 핸들링)

    Date2021.03.31 Views347
    Read More
  16. 안드로이드 - 뷰페이저(ViewPager) 구현

    Date2021.04.02 Views325
    Read More
  17. 안드로이드 - 색상 리소스 (Color Resource) 추가 </color>

    Date2021.03.31 Views554
    Read More
  18. 안드로이드 - 소방시설바이블 어플 소스 ( 폰갭, 폰갭플러그인, assets 폴더안의 파일 이용, pdf 리더기 선택, 유튜브재생기 선택 )

    Date2015.06.29 Views7977
    Read More
  19. 안드로이드 - 스타일 리소스(Style Resource) 사용하기 <style>

    Date2021.03.31 Views241
    Read More
  20. 안드로이드 - 액티비티(Activity)로부터 결과 데이터 받아오기

    Date2021.03.31 Views484
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved